我正在寻找更快的方法来完全更改文件的内容。例子后面就清楚了:
一个.txt:
我是一个非常长(也许不会太长)的文件。我很确定我可以更长。
运行程序后,根据用户的输入,它应该变成例如:
用户输入:
你好!
然后我尝试使用fwrite
. 问题是文件的其余部分仍然存在,所以我有类似的东西:
一个.txt:
嗨!ma 非常非常长(可能不会太长)的文件。我很确定我可以更长
经过一些研究,这是我所做的:
FILE
*a;
char
buffer[500];
a = fopen("a.txt", "r");
fread(buffer, sizeof(char), 500, a);
printf("%s\n", buffer);
a = freopen("a.txt", "w", a);
scanf("%s", buffer);
// rewind(a);
// fwrite(buffer, sizeof(char), strlen(buffer), a);
fwrite(buffer, sizeof(char), 10, a);
fclose(a);
虽然它有效,但我想知道是否有更好的方法来做到这一点。