如何编写和创建文件,如果文件存在则追加,然后显示所有字符串文件文本?我无法将内容附加到文件文本的末尾,然后显示所有字符串。感谢阅读!

#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/

10-11 16:34