在C语言中从文本文件读/写到链表

在C语言中从文本文件读/写到链表,c,struct,linked-list,dynamic-memory-allocation,C,Struct,Linked List,Dynamic Memory Allocation,因此,我正在制作一个程序,接收员工的数据(id、姓名等)。我从sanfoundry教程中获得了大部分信息,现在我想知道如何将我创建的员工记录保存在文本文件中。当然,在开始运行程序时,我是如何打开该文本文件的 我可以正常地完成这项工作,但我发现很难在教程的代码中实现它 FILE *file = fopen("C:\\Users\\Me\\Desktop\\AdvProgrammingAssignment\\employees.txt", "r"); char c; if(file

因此,我正在制作一个程序,接收员工的数据(id、姓名等)。我从sanfoundry教程中获得了大部分信息,现在我想知道如何将我创建的员工记录保存在文本文件中。当然,在开始运行程序时,我是如何打开该文本文件的

我可以正常地完成这项工作,但我发现很难在教程的代码中实现它

FILE *file =        fopen("C:\\Users\\Me\\Desktop\\AdvProgrammingAssignment\\employees.txt", "r");

char c;

if(file == NULL) {
    printf("Error, file not found");
}

do {
    c = fgetc(file);
    printf("%c", c);
}
while(c != EOF);

fclose(file);
这对于读入(这是我做的另一个程序)来说是可行的,但现在我正试图添加到教程中,并在退出时将链接列表写入文本文件,我有点不知所措

这是教程中的代码(不是全部)


我是否应该创建一个新方法并在main的开头调用它?非常感谢您的帮助。

好的,我可能理解错了,但是,如果您只想创建一个文本文件并将数据写入该文本文件,那么简单的选择就是:

fd = open(pathToYourFile, O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
在将创建具有以下权限的文件的windows上:

用户:读+写

分配者:读

对于Unix,您必须为组和其他组指定,以便它看起来像:

fd = open(pathToYourFile, O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IROTH | S_IRGRP);
此外,O_TRUNC只是截断文件,以便只在其中写入所需的信息。更多信息,请查看开放的人

如果你想把它改短一点。照办

file = fopen(PathToYourFile, 'w+');

然后你所要做的就是写入文件。(因此,对于fd,一个int,或者对于file,一个file*)

fgetc
返回一个
int
(不是
char
)好的。。。关于如何解决我的问题有什么想法吗?
intfgetc(std::FILE*stream)
。。[链接]关于更多信息,您的问题是读数不正确?或者你得到了一个特殊的异常/错误?
file = fopen(PathToYourFile, 'w+');