C語言fprintf()函數(shù)和fscanf()函數(shù)的具體使用
fprintf()函數(shù)
在C語言中常用使用的打印函數(shù)是printf()函數(shù),這個多用于給控制臺打印數(shù)據(jù),如果需要將內(nèi)容直接打印到某個文件中的時候,可以使用fprintf()函數(shù)。它有兩個參數(shù),第一個參數(shù)為待寫入的文件指針,第二個參數(shù)為待寫入的內(nèi)容。下面通過一個簡單的例子來演示它的用法。
int main() { FILE *in,*out; int ret; char ch; /* 打開文件 */ in = fopen("123.txt","a+"); if(in == NULL) puts("打開失??!"); else puts("打開成功!"); fprintf(in," hello world"); /* 關(guān)閉文件 */ ret = fclose(in); if(ret == 0) puts("關(guān)閉成功!"); else puts("關(guān)閉失??!"); system("pause"); return 0; }
首先以追加的方式打開一個文本文件123.txt,然后在使用fprintf()函數(shù)向文件里面追加字符串。最后關(guān)閉打開的文件。
程序執(zhí)行完成之后,打開123.txt文件,可以看到程序已經(jīng)在原來的字符串后面追加了一個字符串。fprintf()函數(shù)中第一個參數(shù)的文件,不僅僅指的是文檔,也可以是顯示器。在C語言中鍵盤和顯示器也可以是文件。
比如在上面的例子中,可以將fprintf()的第一個參數(shù)修改為stdout,這樣字符串就會打印在終端上。
fscanf()函數(shù)
scanf()函數(shù)用于從鍵盤讀取數(shù)據(jù),fscanf()函數(shù)則用來從文件中讀取數(shù)據(jù)。比如可以將上面的例子修改為,使用fscanf()函數(shù)從文件中讀取數(shù)據(jù)。
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("打開成功!"); fscanf(in,"%s %s %s",str1,str2,str3); puts(str1); puts(str2); puts(str3); /* 關(guān)閉文件 */ ret = fclose(in); if(ret == 0) puts("關(guān)閉成功!"); else puts("關(guān)閉失敗!"); system("pause"); return 0; }
打開123.txt文件,然后使用fscanf()函數(shù)讀取文件中的字符串,然后再將讀取的字符串打印出來。這里fscanf()中有三個參數(shù),第一個參數(shù)是要讀取的文件指針,第二個參數(shù)是要讀取數(shù)據(jù)的格式,第三個參數(shù)是讀取的數(shù)據(jù)存放位置。由于123.txt文件中總共有3組字符串,所以第二個參數(shù)里面寫了三次,同樣第三個參數(shù)存儲字符串的數(shù)組也寫了三個。因為fscanf()函數(shù)在讀取字符串的時候是以空格結(jié)束的,如果只使用一個%s的話,只能讀出來第一個字符串。
fscanf()函數(shù)也可以從鍵盤讀取數(shù)據(jù),將fscanf()函數(shù)的第一個參數(shù)改為標(biāo)準(zhǔn)輸入stdin,就可以從鍵盤讀取數(shù)據(jù)了。
運(yùn)行程序后,通過鍵盤輸入三個字符串,以空格隔開,按下回車鍵之后,就會打印出通過fscanf()函數(shù)從標(biāo)準(zhǔn)輸入設(shè)備,也就是從鍵盤上讀取的三個字符串了
到此這篇關(guān)于C語言fprintf()函數(shù)和fscanf()函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)C語言fprintf()函數(shù)和fscanf()函數(shù) 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實現(xiàn)簡單的學(xué)生成績管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)簡單的學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03C++ 關(guān)于MFC List Control 控件的總結(jié)
這篇文章主要介紹了C++ 關(guān)于MFC List Control 控件的總結(jié)的相關(guān)資料,十分的詳細(xì),有需要的朋友可以參考下2015-06-06關(guān)于C++中的static關(guān)鍵字的總結(jié)
C++的static有兩種用法:面向過程程序設(shè)計中的static和面向?qū)ο蟪绦蛟O(shè)計中的static。前者應(yīng)用于普通變量和函數(shù),不涉及類;后者主要說明static在類中的作用2013-09-09類成員函數(shù)的重載、覆蓋與隱藏之間的區(qū)別總結(jié)
以下是對類成員函數(shù)的重載、覆蓋與隱藏之間的區(qū)別進(jìn)行了詳細(xì)的總結(jié)分析,需要的朋友可以過來參考下。希望對大家有所幫助2013-10-10