C語言把printf中的數據存入txt文檔

程序如下

#include <STDIO.H>

void main()
{
FILE *fp;  // 聲明一個文件流類型的變量,FILE 爲 stdio.h 裏定義的
fp=fopen("1.txt","w"); //用 fopen 函數打開文件,第一個參數表示文件名,若不是當前
                               // 路徑請加 \\ 號,如 C:\\Windows\\System32,"w" 表示寫(write)
if (fp!=NULL) // 打開成功
  fprintf(fp,"%d",1);
// fp 文件流變量,"%d"寫入格式,1 是寫入的數據
}

程序執行後,只要你有權限寫文件,那麼將會在當前目錄產生 1.txt

用記事本打開,裏面有一個 1

像這樣調用程序:
aaa.exe >1.txt  (重寫)

aaa.exe >>1.txt  (追加)


printf函數的主要功能是按一定的格式將數據顯示在(輸出到)屏幕上,將數據寫入txt文檔(此文檔一定要存在)的較好方法是使用函數fput()或fputs(),前者是一次寫入一個字符,後者是一次寫入一個字符串。一般的寫入過程是,先打開文件,然後操作文件,最後記住要關閉文件。主要代碼如下:
FILE *pf;
if((pf=fopen("你的txt文檔名字","打開的模式"))==NULL;//你的txt文檔最好放在當前目錄下,打開的模式有r(只讀)、w(只寫)、a(追加)等以及相應的組合。
{
//打開失敗,出錯處理
}
else
{
lseek(pf,nPos,SEEK_CUR);//將文件指針從當前位置移動到nPos處
char szTxt[128];
memset(szTxt,0,sizeof(szTxt));
printf(szTxt,"%d",12345);
if((fputs(szTxt,pf))!=EOF)
{
//完成寫入
}
else
{
寫入出錯
}
}
fclose(pf);



打開stdio.h,你會發現……對,就是他:freopen函數,意爲在原有FILE基礎上打開一個標準文件。好了,我們就利用這樣的便捷,把stdout這個程序啓動時被設定的FILE map到一個標準文件,這樣,printf()函數就立即輸出到指定文件中。記住要用fclose關閉stdout。
FILE * __cdecl freopen(const char *, const char *, FILE *);
freopen就像fopen一樣方便
 

轉自:http://www.programfan.com/club/showpost.asp?id=44096&t=o

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章