21xrx.com
2024-06-02 23:37:58 Sunday
登录
文章检索 我的文章 写文章
如何在C语言中逐行读入输入
2023-06-14 15:13:10 深夜i     --     --
C语言 fgets 逐行读取输入

在C语言中,我们常常需要逐行读取输入,这在处理文件和数据流时非常常见。一般情况下,我们使用fgets()函数来完成这个任务。fgets()函数从指定的文件流读取一行,并把它保存到指定的字符数组中。

语法格式:


char *fgets(char *str, int n, FILE *stream)

其中,str是必需的字符数组,代表数据将要存储的位置;n是读取数据的最大数量,即最大字符数;stream是文件指针,代表要从哪个文件流读取数据。

使用fgets()函数时需要注意以下几点:

1. fgets()会在读取到换行符或EOF时停止读取。

2. 如果读取到的行超过了指定的最大字符数n,fgets()会在末尾添加换行符并丢弃超出的字符。

3. 如果没有读取到任何字符,fgets()返回NULL。

下面是一个简单的示例,演示了如何在C语言中逐行读取输入:


#include

#include

int main() {

  char str[100];

  FILE *fp;

  // 打开文件

  fp = fopen("input.txt", "r");

  // 检测文件是否成功打开

  if (fp == NULL) {

    printf("无法打开文件\n");

    exit(1);

  }

  // 每次读取一行,直到文件结束

  while (fgets(str, 100, fp) != NULL)

    printf("%s", str);

  // 关闭文件

  fclose(fp);

  return 0;

}

从上面的代码可以看出,每次使用fgets()读取一行,直到文件结束。使用fgets()函数可以轻松地在C语言中逐行读取输入,并加工处理数据。

  
  

评论区

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