21xrx.com
2024-12-22 21:04:08 Sunday
登录
文章检索 我的文章 写文章
C++读入多行字符串
2023-06-29 11:18:02 深夜i     --     --
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()
函数将缓冲区中的换行符删除。
  
  

评论区

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