21xrx.com
2025-04-11 19:51:47 Friday
文章检索 我的文章 写文章
C++读入多行字符串
2023-06-29 11:18:02 深夜i     22     0
C++ 读入 多行字符串 cin getline函数

在C++中,读入多行字符串通常需要使用循环结构来完成多次输入。下面是一个示例代码:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string line;
  while (getline(cin, line))
    cout << line << endl;
  
  return 0;
}

在这个代码中,我们使用了

getline()
函数来读入每一行字符串,而不是
in
getline()
函数的第一个参数是输入流对象,可以是
in
、文件流等等;第二个参数是一个字符串类型的引用,用来存储输入的每一行字符串。该函数会读取到回车符('\n')时结束,将回车符从输入流中删除,然后将读到的字符串存储到第二个参数中返回。

在循环结构中,我们调用

getline()
函数来不断读入字符串,并输出到屏幕上,直到输入流中没有更多字符串可以读入为止。

需要注意的是,如果要在同一行中输入多个字符串,可以使用

in
,但是需要在输入第一个字符串后使用
in.ignore()
函数将缓冲区中的换行符删除,否则会导致下一次读取时会直接读入一个空字符串。例如:
#include <iostream>
#include <string>
using namespace std;
int main() {
  string line1, line2;
  cout << "请输入两行字符串:\n";
  getline(cin, line1);
  cin.ignore();
  getline(cin, line2);
  cout << "第一行字符串:" << line1 << endl;
  cout << "第二行字符串:" << line2 << endl;
  return 0;
}

总之,读入多行字符串可以使用

getline()
函数和循环结构来完成。在使用
in
进行多行输入时,需要使用
in.ignore()
函数将缓冲区中的换行符删除。
  
  

评论区

请求出错了