我必须使用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
函数,因此永远不会读取下一个字符串。任何的想法?我尝试了一切,但这不起作用。
答案 0 :(得分:1)
尝试将其作为字符串: "%d,%d,%[^],%[^,]"
我淘汰了" s"因为[...]充当说明符。
将[...]视为超级s。