我有一个包含以下内容的文件
"AAA";"BBB"
我尝试以这种方式提取2列:
char v1[50];
char v2[50];
int ret = fscanf(fp, "\"%s\";\"%s\"", v1, v2);
但它返回1并且' v1' !
这是正常的吗?
答案 0 :(得分:5)
这是因为"%s"
格式读取空格分隔字符串。它将读取输入,直到它到达空白区域或输入结束。
您可以在此处使用"%["
格式,可能类似
fscanf(fp, "\"%[^\"]\";\"%[^\"]\"", v1, v2);
参见例如this scanf
(and family) reference了解更多信息。