我需要將行號添加到existitng文件的每一行。 我的想法是讀取file1
爲每行添加行號,將其存儲在一個單獨的變量中並寫入file2
。如何將行號添加到現有文件的行
這是我的代碼。
閱讀:
static char buff[100];
int lineNum = 0;
FILE *fp = fopen ("file1", "r");
while (fgets (buff, sizeof (buff), fp) != NULL) {
printf ("%7d: %s %s ", ++lineNum, buff);
}
fclose (fp);
節省:
我需要存儲在上面 「STR」 的結果,因此它可以被寫入文件2
FILE *fp2 = fopen ("file2", "w");
fwrite(str , 1 , sizeof(str) , fp2);
fclose(fp2);
1.'printf(「%7d:%s%s」,++ lineNum,buff);'三個參數,兩個參數。 2.'fwrite(str,1,sizeof(str),fp2);'我們應該猜測什麼是str? 3.沒有錯誤檢查任何'fopen()' – John3136
你可以'fprintf'像'fprintf(fp2,「%7d:%s」,++ lineNum,buff);' – BLUEPIXY
你是否要求「存儲結果」從內存中的整個file1中,然後寫fo file2?爲什麼不只是同時打開fp和fp2,並且在從fp讀取數據後立即寫入一行(加上行號)到fp2?也就是說,而不是fgets()之後的printf(),只需使用fprintf()到已打開的fp2。然後在fgets()返回一個NULL後fclose()。幾乎完全是你已經在做的事情。 –