fscanf()的Regex表达式将忽略一行中的任何字符/字符串/特殊字符?

时间:2016-02-28 01:10:48

标签: c regex scanf

我正在尝试提出一个可以忽略一行中的任何字符的正则表达式(在我读取相关输入之后)。在某种程度上,它将txt文件中某个点后的字符视为注释,但注释是“任何”,但我需要的相关信息。这就是我所拥有的和它的功能,但我想知道是否有一种更优雅的方式来处理这个问题:

fscanf(input_file, "%*[a-zA-Z .^$*+?()[{\'\" \t]", temp_char)

temp_char是一个char *缓冲区。

由于

1 个答案:

答案 0 :(得分:3)

如果您想要使用与\n和最终\n不同的每个字符,请使用以下语句:

fscanf(input_file, "%*[^\n]");
fscanf(input_file, "%*c");

第一个忽略与\n不同的所有字符,但如果没有,则会失败。 第二个消耗\n字符。