21xrx.com
2024-05-20 20:36:55 Monday
登录
文章检索 我的文章 写文章
C++逐行读取字符串的方法
2023-07-12 14:00:51 深夜i     --     --
C++ 逐行读取 字符串 方法

在C++编程中,有时候需要逐行读取字符串,这可能用于文件读取、输入流读取等场景。本文将介绍C++逐行读取字符串的方法。

1. 使用getline函数

getline函数是C++中标准库提供的一个用于读取字符串的函数。通常情况下,getline函数读取一行字符串并存储在一个字符串变量中,在遇到换行符时停止读取。

例如,以下代码可以从标准输入流中逐行读取字符串,并将其输出到标准输出流中:


#include <iostream>

#include <string>

int main()

{

  std::string line;

  while (std::getline(std::cin, line))

  

    std::cout << line << std::endl;

  

  return 0;

}

在此代码中,getline函数用于从标准输入流中读取字符串并将其存储在字符串变量line中,直到输入流结束为止。

2. 使用std::istream_iterator

还可以使用std::istream_iterator模板类来逐行读取字符串。以下代码演示了这种方法:


#include <iostream>

#include <iterator>

#include <algorithm>

int main()

{

  std::istream_iterator<std::string> iter(std::cin);

  std::istream_iterator<std::string> end;

  while (iter != end)

  {

    std::cout << *iter << std::endl;

    ++iter;

  }

  return 0;

}

在此代码中,std::istream_iterator模板类用于创建一个输入流迭代器iter,它将从标准输入流中读取字符串。在while循环中,每个字符串都被输出到标准输出流中。

总结

本文介绍了C++逐行读取字符串的两种常见方法,即使用getline函数和使用std::istream_iterator。这些方法可以应用于文件读取、输入流读取等场景。在实际编程中,根据具体的需求和场景选择合适的方法可以更加高效地处理字符串。

  
  

评论区

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