C語言入門學(xué)習(xí)之fgets()函數(shù)和fputs()函數(shù)
fgets()函數(shù)
fgets()函數(shù)和gets()函數(shù)一樣,都是讀取字符串,不過gets()函數(shù)通常用來從鍵盤讀取輸入的字符串,fgets()函數(shù)可以通過文件來讀取字符串。下面通一個例子來演示fgets()函數(shù)的使用方法。
int main()
{
FILE *in,*out;
int ret;
char ch;
char str1[30],str2[30],str3[30];
/* 打開文件 */
in = fopen("123.txt","r");
if(in == NULL)
puts("打開失??!");
else
puts("打開成功!");
fgets(str1,10,in);
puts(str1);
/* 關(guān)閉文件 */
ret = fclose(in);
if(ret == 0)
puts("關(guān)閉成功!");
else
puts("關(guān)閉失?。?);
system("pause");
return 0;
}
通過fopen()函數(shù)打開123.txt文件,然后使用fgets()函數(shù)從文件中讀取字符串,然后將讀取到了字符串打印出來。這里fgets()函數(shù)里面有三個參數(shù),第一個參數(shù)用來存儲讀取的字符串內(nèi)容,第二個參數(shù)是需要讀取的字節(jié)數(shù),第三個參數(shù)是待讀取的文件指針。

從123.txt文件中讀取10個字符打印出來,由于第10個字符是空格,所以打印出來的字符串只能看到9個字符。如果將fgets()函數(shù)的第二個參數(shù)改大,就可以讀取更多的字符內(nèi)容了。

將讀取的字符數(shù)量修改為30,就會打印出123.txt文件中全部內(nèi)容。如果修改fgets()第三個參數(shù)為stdin,那么fgets()函數(shù)就可以通過鍵盤讀取字符串。

將第三個參數(shù)修改為stdin,從標準輸入設(shè)備中讀取數(shù)據(jù),也就是從鍵盤讀取。運行程序后,通過鍵盤輸入一組字符串,按下回車鍵之后,就會打印出剛才輸入的字符串。
fputs()函數(shù)
fputs()函數(shù),可以用來向文件中寫入一個字符串。示例如下:
int main()
{
FILE *in,*out;
int ret;
char ch;
char str[]="abc 123 def 456";
char str1[30],str2[30],str3[30];
/* 打開文件 */
in = fopen("123.txt","w");
if(in == NULL)
puts("打開失??!");
else
puts("打開成功!");
fputs(str,in);
/* 關(guān)閉文件 */
ret = fclose(in);
if(ret == 0)
puts("關(guān)閉成功!");
else
puts("關(guān)閉失敗!");
system("pause");
return 0;
}
以寫模式打開123.txt文件,然后使用fputs()函數(shù)向文件內(nèi)寫入一個字符串。fputs()函數(shù)有兩個參數(shù),第一個參數(shù)是待寫入的字符串,第二個參數(shù)是待寫入的文件指針。

運行程序后打開123.txt文件,可以看到文件中以前的內(nèi)容已經(jīng)被新的字符串覆蓋了。這是因為打開文件的時候,是以只寫的方式打開的,它會將文件中以前的內(nèi)容清空,如果向文件中寫入內(nèi)容的時候,不希望清空以前的內(nèi)容,那么打開文件的時候就需要以追加的形式打開。比如修改打開文件代碼:
in = fopen("123.txt","a+");

程序執(zhí)行完之后,打開123.txt文件,可以看到剛才寫入的字符串還在,新添加的字符串緊跟在原來的字符串后面。如果想要新添加的內(nèi)容再下一行,在添加內(nèi)容的時候在字符串中可以加上回車換行的轉(zhuǎn)義字符。

總結(jié)
到此這篇關(guān)于C語言入門學(xué)習(xí)之fgets()函數(shù)和fputs()函數(shù)的文章就介紹到這了,更多相關(guān)C語言 fgets()函數(shù)和fputs()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言使用openSSL庫AES模塊實現(xiàn)加密功能詳解
這篇文章主要介紹了C語言使用openSSL庫AES模塊實現(xiàn)加密功能,詳細分析了C語言加密的相關(guān)概念、原理及AES模塊加密具體實現(xiàn)技巧,需要的朋友可以參考下2017-05-05
Qt中QSettings配置文件的讀寫和應(yīng)用場景詳解
這篇文章主要給大家介紹了關(guān)于Qt中QSettings配置文件的讀寫和應(yīng)用場景的相關(guān)資料,QSettings能讀寫配置文件,當(dāng)配置文件不存在時,可生成配置文件,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-10-10
C語言嵌入式實現(xiàn)支持浮點輸出的printf示例詳解
這篇文章主要為大家介紹了C語言嵌入式實現(xiàn)支持浮點輸出的printf示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
C++調(diào)用python(執(zhí)行py文件)的全過程
這篇文章主要給大家介紹了關(guān)于C++調(diào)用python(執(zhí)行py文件)的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-12-12

