0
這是我第一次在這裏爲任何需要道歉的道歉。保存執行之間的信息?
我有一個程序將文本保存到一個單獨的文件中,並在執行完成後保存。我的問題是,由於fprintf的性質,我們被教導使用的功能,每當我重新運行該程序時,我輸入到該文件中的任何內容都會被擦除和替換。
有沒有人有解決這個問題?
在此先感謝。
到目前爲止我的代碼是:
#include <stdio.h>
#include <string.h>
int main (void) {
FILE *Mem_r;
FILE *Mem_w;
char word[257];
char comp = 'n';
int count, ret = 1;
Mem_w = fopen("Memory_w.txt", "w");
Mem_r = fopen("Memory_r.c", "r");
if (Mem_w != NULL && Mem_r != NULL) {
printf("What do you want me to remember?\n");
scanf("%s", &word);
fprintf(Mem_w, "%s ", &word);
}
else {
printf("Error");
}
return(0);
}
你會粘貼到目前爲止你所做的代碼,那麼它會更容易看到你面臨什麼問題? – LethalProgrammer
Yoyr問題與'fprintf()'無關,它與文件打開方式有關。根據'fopen()'文檔,需要在''w「'模式下打開一個現有的文件來丟棄內容,並且從那裏起,就像從新創建的文件開始一樣。這是你使用的模式,所以你看到的行爲是你編碼的。如果您需要不同的行爲,請查看fopen()支持的其他模式的文檔。 – Peter