gpt4 book ai didi

c - fscanf 不破坏完全拆分文件

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

我正在尝试读取逗号分隔值格式的文件,程序读取了前两种数据类型,但无法读取最后一种。请帮我一些忙

这是我正在尝试读取的文件中的内容:

Jane,50,400.60

代码如下:

    FILE* fptr;
char fileContent[1000];

char name[100];
int age = 0;
double bBalance = 0;

fptr = fopen("NTD.txt", "r");

if (fptr == NULL)
{

}
else
{
while (fscanf(fptr, "%30[^ ,], %d[^ ,], %lf[^ ,]",
&name, &age, &bBalance) != NULL)
{
printf("---------------- \n");
printf("NAME: %s \n", name);
printf("AGE: %d \n", age);
printf("BANK BALANCE: %lf \n", bBalance);
}
}

这是程序应该输出的内容:

----------------
NAME: Jane
AGE: 50
BANK BALANCE: 400.600000

这是程序实际输出的内容:

----------------
NAME: Jane
AGE: 50
BANK BALANCE: 0.000000

谁能告诉我我做错了什么?

如果您还需要什么,请在下面评论。

最佳答案

%d[^ ,] 中,%d 匹配十进制数字,然后 [ 寻找文字 [ 字符,但输入中没有字符,因此 fscanf 停止。

您可能需要一次只对一个十进制数字使用 fscanf,并编写额外的代码来检查它们之间的字符。

关于c - fscanf 不破坏完全拆分文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65715967/

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