所以,如果我有這樣的事情在一個txt文件:如何將數據添加到一個txt文件的新線
file.txt的; 5; 12:40
文件2 .TXT; 6; 13:40
我想在程序中加入另一行如
「file3.txt; 7; 12:40」
爲了如:
file.txt的; 5; 12:40
FILE2.TXT; 6; 13點40
file3.txt; 7; 12:40
然而,當我我的代碼做,它停留像:
file.txt的; 5; 12:40
FILE2.TXT; 6; 13:40file3.txt; 7; 12: 40
我的代碼(我把有關是否如果文件存在與否更簡單,看看真正的代碼的):
printf("Insert the name of the file\n");
printf("[Name] ");
getchar();
scanf("%[^\n]s",&orderNameFile);
printf("\n");
orderFile = fopen("order.txt","a");
contentFile = fopen(orderNameFile,"r");
// This is supposed to be into an if
printf("Insert the seconds for presentation\n");
printf("[Time in seconds] ");
scanf("%d",&orderSecondsFile);
printf("Insert the time\n");
printf("[Time HH:MM (Hour:Minutes)] ");
getchar();
scanf("%[^\n]s",&orderTimeFile);
printf("\n");
fprintf(orderFile,"%s;%d;%s\n", orderNameFile, orderSecondsFile, orderTimeFile);
opOrder = 1;
fclose(contentFile);
我試圖把\ n出fprintf中,並再拍,把它放在之初,就結束,但它不會讓一個進入到一個txt文件。
的如何做到這一點任何想法?
輸出:
file.txt的; 5; 12:40
FILE2.TXT; 6; 13:40file3.txt; 7; 12:40
我想要什麼:
file.txt; 5; 12:40
file2.txt; 6; 13:40
file3。TXT; 7; 12:40
看來, '\ n' 爲在文件的結尾缺失。最簡單的解決方案是將「\ n%s;%d;%s \ n」打印到orderFile。更通用的解決方案是查看orderFile的最後一個字符並檢查它是否爲'\ n',並且只有在不是時纔打印。否則,您可以只打印「\ n%s;%d;%s」,以便尊重之前不以'\ n'結尾的格式,因此下次再次追加時不會以雙EoL結尾。 –
「wb」將重新創建存在的內容,所以這是無法解決的。 「\ n%s;%d;%s \ n」的嘗試也是如此,但它與沒有任何的相同,不會有任何輸入。 – Ran
看起來你已經回答了問題Alegnem。 +1 :-)我認爲這應該是對冉的回答。 – Neil