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