【发布时间】:2018-09-07 20:53:02
【问题描述】:
我正在尝试从使用; 格式化的文件中读取数据。
数据将永远是这样的:
char[];int;int%;int
char[] 可以有任意数量的空格,读取数据时应忽略%。
我正在使用fscanf()(我只能使用它)从文件中读取数据。
现在我的那部分代码是:
fscanf(file, "%[^;]%d%d%d", f_name, &f_id, &f_score, &f_section_num) != EOF)
是否有我需要的正则表达式?或者,如何更正我的fscanf?
【问题讨论】:
-
看看这是否有帮助。 stackoverflow.com/questions/19466894/…
-
像
while(4 == fscanf(file, "%[^;];%d;%d%%;%d", ...));这样的东西呢 -
@Anand 我在发布这个问题之前查看了它,甚至尝试了他们所做的,但我仍然收到错误。
-
请注意,由于
%[^;]也使用换行符,您的程序将像abc\nxyz;3;4%;5这样的两行输入读取为一行。 -
fscan不支持正则表达式。格式字符串的语法,文档不清楚怎么办?