【发布时间】:2014-09-21 23:48:58
【问题描述】:
我必须使用 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 函数的执行,因此永远不会读取下一个字符串。任何的想法?我已经尝试了一切,但这就是行不通。
【问题讨论】:
-
Reading values from CSV file into variables 的可能重复项。特别是,请参阅 Unwind 的回答。
-
是的对不起,我检查了那个帖子,但使用了 ppeterka 的答案(这是不正确的)并忽略了 unwind 的答案(这是正确的),认为它们都是相同的。谢谢!