使用getline按空格分割字符串

std::getline 函数默认使用换行符作为分隔符来读取整行输入。如果要使用 std::getline 按空格分割字符串,可以使用 std::istringstream 将字符串转换为输入流,然后使用 std::getline 并将空格作为分隔符进行读取。

以下示例演示了如何使用 std::getlinestd::istringstream 按空格分割字符串:cpp#include #include #include

int main() { std::string sentence = 'Hello, how are you today?'; std::istringstream iss(sentence); std::string word;

while (std::getline(iss, word, ' ')) {        std::cout << word << std::endl;    }

return 0;}

代码解释:

  1. 创建字符串和输入流: - std::string sentence = 'Hello, how are you today?'; 创建一个包含多个单词的字符串。 - std::istringstream iss(sentence); 创建一个 std::istringstream 对象 iss,并将字符串 sentence 传递给它。这将允许我们将字符串视为输入流。

  2. 使用getline和空格分隔符读取单词: - while (std::getline(iss, word, ' ')) 循环遍历输入流 iss。 - 在每次迭代中,std::getline(iss, word, ' ')iss 中读取字符,直到遇到空格字符 (' ') 或到达流的末尾。读取的内容存储在字符串 word 中。

  3. 输出分割后的单词: - std::cout << word << std::endl; 打印读取到的单词,每个单词占一行。

总结:

通过结合 std::getlinestd::istringstream,我们可以方便地按空格或其他空白字符分割字符串。 这为处理文本数据提供了更大的灵活性。

使用getline按空格分割字符串

原文地址: https://www.cveoy.top/t/topic/crmr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录