如何编写和创建文件,如果文件存在则追加,然后显示所有字符串文件文本?我无法将内容附加到文件文本的末尾,然后显示所有字符串。感谢阅读!
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<unistd.h>
int main(int argc, char** argv) {
char c, filename[100], content[100];
FILE *fptr;
printf("File name: ");
scanf("%s", filename);
printf("Enter content: ");
gets(content);
if ((fptr = fopen(filename, "r")) == NULL)
{
fptr = fopen(fptr, "w");
fprintf(fptr,"%s", content);
}
else{
fptr = fopen(fptr, "a");
fprintf(fptr,"%s", content);
}
c = fgetc(fptr);
while (c != EOF)
{
printf ("%c", c);
c = fgetc(fptr);
}
fclose(fptr);
return 0;
}
最佳答案
如果要打开文件进行读取并附加到文件中,则可以使用模式fopen
只需调用一次a+
来执行此操作。
fptr = fopen(filename, "a+");
if (fptr == NULL)
{
// Handle not being able to open the file
}
如果文件不存在,它将创建它。读取的位置将在文件的开头,但是您写入该文件的任何内容都将在文件的结尾。
关于c - 如何编写或附加文本文件的内容然后显示?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50138926/