gpt4 book ai didi

c - 如何在此文件中正确使用 fscanf

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:37 31 4
gpt4 key购买 nike

我有这个文件,内容如下:

Bob Human, 1

John Cat, 3

Mary Dog, 2

如何正确使用 fscanf 将每个字符串和整数放入一个结构中。

typedef struct {
char name[20];
char surname[20];
int code;
} entry;

然后我创建一个数组 _entry_

entry a[3];

_a_ 如何使用 fscanf 正确获取每个值?

编辑:

我试过这个:

while(TRUE) {
nscan=fscanf(infile, "%s %s d%c", temp.name, temp.surname, &temp.code, &termch);
if(nscan==EOF) break;
if(nscan!=4 || termch!='\n') {
printf("Error\n");
}
RecBSTInsert(&a, temp);
}

但是最后一行好像过了两次。

最佳答案

你很接近,但你没有正确处理逗号。

像往常一样,阅读整行,然后解析它们要容易得多。让我们开始吧。

尝试:

char line[1024];

if(fgets(line, sizeof line, infile) != NULL)
{
nscan = sscanf(line, "%s %[^,], %d", temp.name, temp.surname, &temp.code);
}

如果所有字段都转换了,返回值为3,否则报错。

关于c - 如何在此文件中正确使用 fscanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23755183/

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