gpt4 book ai didi

c - 如何读取文件 C,fscanf 结尾

转载 作者:行者123 更新时间:2023-12-02 08:14:36 25 4
gpt4 key购买 nike

我从文件中读取的内容:不同行的 P1/s/e/t 等/。在特定字母(如“a”)之后出现一些我必须收集的数据,所以我不想使用 fgets。它不会结束运行。请问你能帮帮我吗?

char com[21];
fscanf(src,"%s",com);
while(com!=EOF)
{
if(com[0]=='a')
fprintf(dest,"%s 1",com);
if(com[0]=='s')
fprintf(dest,"%s 2",com);
fscanf(src,"%s",com);
}

最佳答案

简单的方法是测试 fscanf() 是否成功作为循环条件,并且在循环之前不需要 fscanf():

char com[21];

while(fscanf(src,"%20s",com) == 1)
{
if(com[0]=='a')
fprintf(dest,"%s 1",com);
if(com[0]=='s')
fprintf(dest,"%s 2",com);
}

fscanf() 返回成功扫描的项目数。因此,您无需检查它是否返回了 EOF

请注意,我更改了格式字符串以避免缓冲区溢出。我建议你使用 fgets()而不是 fscanf()(如果重要,请记住处理换行符)。

关于c - 如何读取文件 C,fscanf 结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43098701/

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