scanf和格式有关吗?

时间:2015-12-15 13:32:40

标签: c scanf

我有一个包含以下内容的文件

"AAA";"BBB"

我尝试以这种方式提取2列:

char v1[50];
char v2[50];
int ret = fscanf(fp, "\"%s\";\"%s\"", v1, v2);

但它返回1并且' v1' !

这是正常的吗?

1 个答案:

答案 0 :(得分:5)

这是因为"%s"格式读取空格分隔字符串。它将读取输入,直到它到达空白区域或输入结束。

您可以在此处使用"%["格式,可能类似

fscanf(fp, "\"%[^\"]\";\"%[^\"]\"", v1, v2);

参见例如this scanf (and family) reference了解更多信息。