从向量中读取字符串直到C ++中的空格

时间:2012-11-08 20:02:53

标签: c++

这可能很容易,但我不确定如何。我尝试搜索多个网站,是谷歌,但在这方面找不到任何东西。

我的矢量result[0]看起来像这样

A3 * * B4 * *

声明

vector<string> result = v.formVectorFile("Prj3 Config.txt");    

我知道cin读取直到空白,所以我试图用它来解决这个问题。 如果我直接从fstream阅读,我可以阅读直到空格,但是我试图用向量内的字符串来做这个,result[0] >> s;之类的东西显然不起作用。

我需要阅读,直到它碰到一个空格然后读取下一个直到空格。等等... 所以自己提取A3。在上面操作,然后提取*等......

1 个答案:

答案 0 :(得分:2)

您的问题不明确,因为您没有准确地告诉我们result是什么。

如果我们可以假设resultstd::vector<std::string>,那么你可以这样做:

std::istringstream iss(result[0]); // consider only first string in vector
std::string item;
while(iss >> item) {
  std::cout << "I found: " << item << "\n";
}

如果我们假设resultstd::vector<char>,那么您可以这样做:

std::string s(result.begin(), result.end()); // consider entire vector as single string
std::istringstream iss(s);
while(iss >> item) {
  std::cout << "I found: " << item << "\n";
}