21xrx.com
2024-09-19 09:39:32 Thursday
登录
文章检索 我的文章 写文章
C语言如何按行读取文件
2023-06-15 19:16:05 深夜i     --     --

在C语言编程中,有时候需要读取一个文本文件中的每一行数据,但是以文件为单位读取数据显然会非常低效。因此,在C语言中实现按行读取文件就成为了一种常见的需求。

实现按行读取文件的方法比较多,其中比较常见的方法是使用fgets()函数。fgets()函数用于从文件中读取一行数据,并将其存储到缓冲区中,直到读取到换行符或文件结束符为止。

具体实现方法如下:


#include

#define MAX_LINE_LEN 1024 /* 最大行长 */

int main(int argc, char **argv) {

  FILE *fp; /* 文件指针 */

  char line[MAX_LINE_LEN]; /* 缓冲区 */

  int line_num = 0; /* 行号 */

  /* 打开文件 */

  if ((fp = fopen(argv[1], "r")) == NULL) {

    perror("Can't open file");

    return -1;

  }

  /* 按行读取文件 */

  while (fgets(line, sizeof(line), fp) != NULL) {

    line_num++;

    printf("Line %d: %s", line_num, line);

  }

  /* 关闭文件 */

  fclose(fp);

  return 0;

}

在以上示例代码中,首先定义了一个文件指针fp和一个缓冲区line,用于存储读取到的数据。接着使用fgets()函数从文件中读取一行数据,如果读取成功则将行号line_num加1,并输出该行数据。如果读取失败,则表示文件已经读取完毕,退出循环。

以上就是C语言按行读取文件的实现方法,关键词包括fgets()函数、缓冲区、文件指针等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复