回覆列表
  • 1 # 貓Ning

    一:C語言程式的建立和編譯這裡不再贅述。開啟控制檯輸入g++ -v即可檢視版本。我這裡用到的gcc版本是mingw的4.9版本。將資料寫入檔案大體分為三個步驟:

    1、開啟檔案;

    2、向檔案輸出內容;

    3、關閉檔案。

    二、開啟檔案C語言操作檔案基於FILE指標,定義在標頭檔案stdio.h中。在開啟檔案之前需要新建一個FILE指標。開啟檔案使用freopen(const char *filename, const char *mode)函式。filename是檔案的絕對路徑或相對路徑。mode是使用檔案方式,寫入檔案的檔案使用方式選擇帶有"w"的,如果是二進位制檔案,則再加上"b"。使用檔案方式見表:

    三、向檔案輸出內容對文字檔案的輸出函式有字元輸出函式fputc()、字串輸出函式fputs()和格式化輸出函式fprintf()。根據需要靈活運用。對於二進位制的資料塊則使用fwrite()函式。關閉檔案在使用完一個檔案後應該關閉它,以防止它再被誤用。使用fclose(FILE* fp)函式關閉檔案。

    四、接下來看一個例子來溫習上面的三個步驟。這個例子的功能是實現檔案的複製。程式碼:/* learn_write.cc */#include <stdio.h>#include <stdlib.h>int main(int argc,char *argv[]){ FILE *in, *out; char ch, infile[20], outfile[20]; printf("Enter the input file name:"); scanf("%s", infile); in = fopen(infile, "r"); if (in == NULL) {printf("ERROR: Cannot open %s\n", infile);exit(1); } printf("Enter the output file name:"); scanf("%s", outfile); out = fopen(outfile, "w"); if (out == NULL) {printf("ERROR: Cannot open output file\n");exit(1); } while (!feof(in)) {fputc(fgetc(in), out);} fclose(in); fclose(out); return 0;}為了測試程式執行結果,將檔案編譯為clone.exe檔案。再程式所在目錄下新建一個input.txt文字檔案,然後執行程式clone,執行復制到output.txt檔案。結果如圖,type命令用來再DOS中輸出文字檔案內容。

    五、另外,輸出資料到檔案還有一種方法,就是利用標準輸出+檔案重定向。正常情況下如果使用print函式,將在控制檯中輸出結果。在輸出之前加上檔案重定向freopen函式,就把控制檯中輸出的內容全部寫入檔案中去了。下面是一個例子。程式碼:/* reopen.cc */#include <stdio.h>#include <stdlib.h>int main(int argc,char *argv[]){ char filename[40] = "output.txt"; freopen(filename, "w", stdout); printf("Write something into %s", filename); return 0;}

  • 中秋節和大豐收的關聯?
  • 關於漢字的由來有很多傳說?