21xrx.com
2024-12-22 23:09:05 Sunday
登录
文章检索 我的文章 写文章
如何在C++中按行读取输入
2023-07-07 15:26:42 深夜i     --     --
C++ 输入 按行读取

在C++中按行读取输入对于处理一些需要逐行处理的任务非常有用。一些例子包括读取文件,网络通信或者处理类似CSV(逗号分割值)格式的输入。

以下是关于如何在C++中按行读取输入的解决方案:

方法1 - 使用getline函数

一种方法是使用C++标准库中的getline函数。该函数获取一行输入,并将其存储在字符串中(指定为第一个参数)。getline函数有两个参数:输入流和字符串缓冲区。

以下是实现该方法的代码示例:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string line;

  while (getline(cin, line))

    cout << line << endl;

  return 0;

}

在此示例中,while循环一直运行,直到输入流结束。每次循环,getline函数从输入流中读取一行,并将其存储在字符串变量line中。然后,该行输出到屏幕上。

方法2 - 使用fgets函数

另一种方法是使用C标准库中的fgets函数。这个函数也有两个参数:一个指向读取数据的缓冲区和一个指向输入流的指针。

以下是实现该方法的代码示例:


#include <iostream>

#include <cstdio>

using namespace std;

int main()

{

  char line[100];

  while (fgets(line, sizeof(line), stdin))

    printf("%s", line);

  return 0;

}

在此示例中,fgets函数从输入流中读取一行,并将其存储在字符数组line中。sizeof(line)指定了缓冲区的大小,以便fgets函数可以避免缓冲区溢出。打印语句将读取的行输出到屏幕上。

无论使用哪种方法,通过逐行读取输入,您可以更轻松地处理需要逐行处理的任务。

  
  

评论区

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