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



我试图读取逗号分隔值格式的文件,程序读取前两种数据类型,但未能读取最后一种。请帮我一下

以下是我试图阅读的文件中的内容:

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,并编写额外的代码来检查它们之间的字符。

相关内容

  • 没有找到相关文章

最新更新