gpt4 book ai didi

c - 关于c中读取文件

转载 作者:行者123 更新时间:2023-11-30 19:14:05 26 4
gpt4 key购买 nike

所以我刚刚从我的教授那里得到了一个任务,让我制作一个可以读取或写入文件的程序。我在读取空文件时遇到了一些问题,每当我读取空文件时,它都会输入空格字符和 0.0 。那么有什么办法

处理这个吗?

这是我读取的代码

void read()
{
n = 0 ;
FILE *f ;

f = fopen("namafile.txt","r");
if (f)
{
while (!feof(f))
{
fscanf(f,"%[^|]|%[^#]#%f\n", mhs[n].nim, mhs[n].nama, &mhs[n].x) ;
n++ ;
}
}
else
{
printf("file not found\n");
}
fclose(f) ;

}

最佳答案

EOF 标记将在 fscanf() 失败后设置,因此您需要一个失败的 fscanf() 以便循环结尾。另外,您必须检查 fscanf() 是否成功,您检查它的返回值,也就是说您需要的只是更改它

while (!feof(f))

while (fscanf(f,"%[^|]|%[^#]#%f\n", mhs[n].nim, mhs[n].nama, &mhs[n].x) == 3)

注意:不要使用像 f 这样的标识符,这是一个坏习惯,如果您的 IDE 没有自动完成功能,您可能可以证明这一点是合理的,但事实并非如此,您可以将标识符命名为 file 来明确它是什么。

关于c - 关于c中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com