c - 扫描文本文件时如何跳过一行?

标签 c file scanf

我想扫描文件并在阅读前跳过一行文本。我试过:

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/

相关文章:

c - 显示先前接收到的 UART 值

c++ - 从使用 numpy.save(...) 保存的文件中将 numpy 数组加载到 C 中

c++ - 编写 C++ 程序以从 Linux 命令行搜索索引文件

c - scanf 如何知道何时结束 for 循环?

在c中创建结构体数组

c - 在 C 中移位位值

file - HTTP/2和文件下载

python只将最后的输出写入文件

c - 如何在 C 中使用 EOF 标准输入

c - 如何在 C 中使用 scanf() 读取负 double ?