gpt4 book ai didi

c++ - 将字符串对象转换为 istringstream

转载 作者:太空狗 更新时间:2023-10-29 21:16:07 26 4
gpt4 key购买 nike

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>

void reverse_words(const std::string &file) {
std::ifstream inFile { file };
std::vector<std::string> lines;
if(static_cast<bool>(inFile)) {
std::string line;
while(std::getline(inFile, line, '\n')) {
lines.push_back(line);
}

std::vector<std::string> reverse_line;
std::string word;
for(auto line: lines) {
while(std::getline(line, word, ' '))
reverse_line.push_back(word);

}

}
}

int main(int argc, char ** argv) {
if(argc == 2) {
reverse_words(argv[1]);
}
}

在我程序的最后一个 for 循环中,我想从一行中读入一个单词,该行是一个字符串,因此它与 getline() 函数定义不匹配。如何将行转换为字符串流,以便我可以像读取文件一样使用它进行读取?

目前请忽略程序逻辑,它不完整,我的问题是 C++ 特定的。

最佳答案

你只需要构造一个 istringstream :

for(auto const& line: lines) {
std::istringstream iss{line}; // <-------
while(std::getline(iss, word, ' ')) {
reverse_line.push_back(word);
}
}

关于c++ - 将字符串对象转换为 istringstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35997652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com