我正在尝试使用fgets读取“Danfilez.txt”的内容。但是在完成后程序返回一个随机值,我不确定为什么。我是新来的编程,所以任何帮助将非常感谢!

int main()
{
    FILE* Danfile = fopen ("Danfilez.txt", "w");
    char fileinfo [50];// Character arrays for file data //

    if (Danfile == NULL)
    {
        printf ("ERROR\n");

    }

    else
    {
        printf("Everything works!\n");
        fprintf (Danfile, "Welcome to Dan's file.");
        fgets(fileinfo,50,Danfile);
        printf("%s\n",fileinfo);
        fclose (Danfile); // CLOSES FILE //
    }


    return 0;
}

最佳答案

既然你同时在读和写文件,你想用“w+”来打开文件,而不仅仅是“w”。
但这并不能解决问题,因为一旦你写出了文本,你在文件中的位置仍然在末尾,所以你还需要重置位置,然后才能使用fseek()读取任何内容

fseek(Danfile,0,SEEK_SET);

关于c - 如何使用fgets从文件读取?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42670705/

10-10 12:50