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語言中的錯誤報告errno與其相關(guān)應(yīng)用方法
這篇文章主要介紹了C語言中的錯誤報告errno與其相關(guān)應(yīng)用方法,包括errno和strerror以及perror的介紹,需要的朋友可以參考下2015-08-08
對比C語言中memccpy()函數(shù)和memcpy()函數(shù)的用法
這篇文章主要介紹了對比C語言中memccpy()函數(shù)和memcpy()函數(shù)的用法,二者都是用于復(fù)制內(nèi)存內(nèi)容,注意區(qū)別,需要的朋友可以參考下2015-08-08

