0

これはおそらく簡単ですが、方法がわかりません。複数のウェブサイトを検索してみましたが、はい、Google で検索しましたが、これについては何も見つかりませんでした。

私のベクトルresult[0]は次のようになります

A3 * * B4 * *

宣言

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

空白まで読み取ることがわかっているcinので、これを使用して把握しようとしていました。から直接fstream読み取ると、空白まで読み取ることができますが、ベクトル内の文字列でこれを実行しようとすると、result[0] >> s;明らかに機能しません。

空白に達するまで読んでから、空白になるまで次のものを読む必要があります。などなど...だから、自分で抽出A3します。それを操作してから抽出する*など...

4

1 に答える 1

2

何が何であるかを正確に教えてくれないので、あなたの質問は不明確resultです。

resultがであると仮定できる場合、次の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 に答える