我正在尝试从 C 中的文件中读取数据,该文件将始终以这种类型的行格式化:
16 Oct 2013 00:01:00.000,0.000,0.000000
这是一个字符串、一个逗号、一个浮点数、一个逗号、一个浮点数和一个\n
.
我得到了一些奇怪的东西,我开始尝试只使用字符串,我意识到这一点:
fscanf(filefd, "\n%24[^,]s", data);
fscanf(filefd, ",%5s", data2);
fscanf(filefd, "\n%24[^,]s,", data);
fscanf(filefd, "%5s", data2);
fscanf(filefd, "\n%24[^,]s,%5s", data, data2);
为什么第一个案例有效而其他两个无效?如果我将逗号放在变量之前,在格式字符串的开头,它可以工作。如果我将逗号放在其他格式字符串中,但最后,我会在data2
. 最后,如果我把它们放在一起,data2
没有任何有效数据,但data
有。
我是否缺少一些东西来获得这种奇怪的行为?