0

这可能很容易,但我不确定如何。我尝试搜索多个网站,是的,谷歌并在此找不到任何内容。

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

A3 * * B4 * *

宣言

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

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

我需要阅读直到它碰到一个空白然后阅读下一个直到空白。等等......所以A3自己提取。对其进行操作然后提取*等...

4

1 回答 1

2

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

如果我们可以假设它result是 a std::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";
}
于 2012-11-08T20:12:03.157 回答