在C语言中从文本文件读/写到链表
因此,我正在制作一个程序,接收员工的数据(id、姓名等)。我从sanfoundry教程中获得了大部分信息,现在我想知道如何将我创建的员工记录保存在文本文件中。当然,在开始运行程序时,我是如何打开该文本文件的 我可以正常地完成这项工作,但我发现很难在教程的代码中实现它在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
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+');