我想不出正确的风格来写多个“%....”来工作。我正在读取格式为用逗号分隔的数字块的文件,,
例如:
913,91,011,3
391,391
04,111
940,1,999
它可以是 1 到 3 位数字,而逗号只是在同一行的数字之间......它也可能什么都没有。我试着像这样阅读每一行:
res=fscanf(users,"%[^,\n]c%c",lockid,&temp2);
哪个应该带给我
lockid=913 (its char*)
temp2=',' or '\n' (its char)
and res=2 (int)
但是我得到lockid=913
并且temp2
根本没有改变(仍然未知)和res = 1
.
如果我将其分隔为:
res1=fscanf(users,"%[^,\n]3s",lockid);
res2=fscanf(users,"%c",temp1);
我得到了我想要的,但我花了 2 行......为什么它不起作用?它发生在我所有的fscanf
s上。你能告诉我什么是正确的写法吗?我的老师说%
我在互联网上看到的每个人都使用中间空间,所以我也尝试过,但仍然没有。我也尝试过,fscanf(fp,"%d""%d",num1,num2)
但同样的错误:num2
不收集第二个%d
......
可能是它编译的方式还是什么?我正在使用 Visual Studio 最新版本和用 C 编写的版本。
提前致谢!