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ù)了。
運行程序后,通過鍵盤輸入三個字符串,以空格隔開,按下回車鍵之后,就會打印出通過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-03
C++ 關(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

