我想扫描文件并在阅读前跳过一行文本。我试过:
fscanf(pointer,"\n",&(*struct).test[i][j]);
但是这个语法只是从第一行开始。
最佳答案
我能够通过以下指令使用 scanf 跳过行:
fscanf(config_file, "%*[^\n]\n");
格式字符串匹配包含任何字符(包括空格)的行。格式字符串中的 *
表示我们对保存行不感兴趣,而只是增加文件位置。
格式化字符串解释:
%
是每个scanf格式字符串的起始字符;
*
表示不要将找到的模式放在任何地方(通常将找到的模式保存到格式字符串之后的参数中,在这种情况下参数为 NULL);
[^\n]
表示除换行符外的任意字符;
\n
表示换行;
因此 [^\n]\n
表示以换行符结尾的完整文本行。
引用 here .
关于c - 扫描文本文件时如何跳过一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2799612/