使用C中的fscanf读取csv文件

时间:2014-09-21 23:48:58

标签: c csv scanf

我必须使用fscanf函数读取csv文件(我不能使用任何其他函数,如strtok_s来解析该行),并且我遇到以下问题。

以下是代码:

fp1 = fopen (argv [1],"r");

var = fscanf (fp1,"%d,%d,%[^,]s,%[^,]s",&aux.points,%aux.titles,aux.name,aux.nation);

我试图在屏幕上打印每个参数。整数没有问题,甚至第一个字符串(名称)也没有问题,但是没有任何内容存储在下一个字符串(国家)中。

我假设第一个%[^,]s正在停止执行整个fscanf函数,因此永远不会读取下一个字符串。任何的想法?我尝试了一切,但这不起作用。

1 个答案:

答案 0 :(得分:1)

尝试将其作为字符串: "%d,%d,%[^],%[^,]"

我淘汰了" s"因为[...]充当说明符。

将[...]视为超级s。