將某些內容保存到文本文件中時,是否有辦法不覆蓋文件中的內容?保存到文件有沒有辦法不覆蓋文件中已有的內容?
EX。
blah.txt
這是一個例子
fout << "of saving to a file.";
我想補充到:「這是一個例子」,「保存到文件」將不覆蓋它。
將某些內容保存到文本文件中時,是否有辦法不覆蓋文件中的內容?保存到文件有沒有辦法不覆蓋文件中已有的內容?
EX。
blah.txt
這是一個例子
fout << "of saving to a file.";
我想補充到:「這是一個例子」,「保存到文件」將不覆蓋它。
你應該爲了打開與相應的寫入模式文件追加給它,而不是覆蓋:
pFile = fopen ("myfile.txt","a");
fstream filestr ("myfile.txt", fstream::ate | fstream::out);
(C++ style)。在後一種情況下,您可能想要使用fstream::app
而不是fstream::ate
- 這會在每次輸出操作之前將文件指針設置爲文件末尾。
所以,而不是使用fout.open(blah.txt)我應該使用什麼? – Zud 2010-10-13 19:44:29
@Alec,看我的更新。 – 2010-10-13 19:51:00
是。您需要打開append mode中的文件。
ofstream fout("blah.txt", fstream::out | fstream::app);
您需要追加模式打開的文件輸出流:
ofstream fout(<path>, ios::app);
您可以手動設置寫入位置,如果你想
u需要: #include <stdio.h>
...
FILE *file = fopen("my_file.txt", "w");
fputs ("This is some text." , file);
fseek (file , 15, SEEK_SET);
fputs (" sam" ,file);
fclose (file);
查看open-call的選項 - th ere應該是一個附加模式。 – 2010-10-13 19:43:06
你必須設置開放模式標誌吃。 – 2010-10-13 19:44:34