有没有办法知道fscanf何时读取空格或新行?

时间:2012-09-25 03:12:42

标签: c scanf

我想知道是否有办法知道fscanf何时读取空格或新行。

实施例: 格式化问词斜体 链接返回

当fscanf读取字符串直到遇到换行符或空格(使用%s)时,它将读取格式以及之后和之前的空格。问题是,有没有办法知道它读取空间?在进入第二行后,有一种方法可以知道它是否读取了回车符?

1 个答案:

答案 0 :(得分:1)

您可以指示fscanf将空格读入变量,而不是读取和丢弃空格。使用类似[ \n\r\t]*的内容,但您需要在该表达式中包含更多字符。根据区域设置和运行时字符集的某些功能,您可能希望在使用之前编写一个单独的函数来计算适当的格式字符串。

如果你需要将\ n与其他类型的空格区分开来,那么你的变量包含你刚读完的空格。您可能希望根据需要计算其中的所有\ n字符。