istream
には>>
演算子がありますが、空白をスキップするような改行はスキップされます。どのようにして1行のすべての単語のリストをベクトル(または使用するのに便利なもの)にすることができますか?istreamからベクトルに1行の単語を取得する最も簡単な方法は?
2
A
答えて
2
一つの可能性は(私が希望よりもかなり多くの冗長が)で考えてみましょう。
std::string temp;
std::getline(your_istream, temp);
std::istringstream buffer(temp);
std::vector<std::string> words((std::istream_iterator<std::string>(buffer)),
std::istream_iterator<std::string>());
0
あなたははistream :: getlineのを呼び出すことができます - 文字配列例えば
に読み込まれます
char buf[256];
cin.getline(buf, 256);
をそして、あなたは内の個々のトークンのためのストリームと互換性のアクセサを使用したい場合ライン、istringstream
1
私は、string
にラインをバッファーにしてからstringstream
を使って、その内容を解析することをお勧めします。string
例:
string line;
getline(fileStream, line);
istringstream converter(line);
for (string token; converter >> token;)
vector.push_back(token);
C++でC文字列読み取り関数を使用することを慎重にしてください。 std::string
I/O機能ははるかに安全です。
関連する問題
- 1. 複数のファイルから行を取得する最も簡単な方法
- 2. Javaでデータベースメタデータを取得する最も簡単な方法は?
- 3. Python:dictから値のリストを取得する最も簡単な方法は?
- 4. ウェブサイトのルートドメインを取得する最も簡単な方法
- 5. 異なるサイトからデータを取得する最も簡単な方法
- 6. Java:文字列の最後の単語を取得する最も簡単な方法
- 7. 最も簡単な方法
- 8. 最も簡単な方法
- 9. Scrapyでhttp.responseオブジェクトを取得する最も簡単な方法
- 10. オンライン通知を取得する最も簡単な方法
- 11. C#XMLデータを取得する最も簡単な方法
- 12. Android - 場所を取得する最も簡単な方法
- 13. UWP IoT - outlook.comカレンダーを取得する最も簡単な方法
- 14. 単語ベクトル座標の取得方法
- 15. ナビゲーションバー以外のビューの高さを取得する最も簡単で簡単な方法は何ですか?
- 16. DirectShowからオーディオ/ビデオデータを取得する最も簡単な方法
- 17. 動的HTMLテーブルからデータを取得する最も簡単な方法
- 18. Python - 行全体のオブジェクトを取得する最も簡単な方法
- 19. 最初のx文字を取得する最も簡単な方法は?
- 20. Java - リスト/配列内の各オブジェクトから単一のプロパティを取得する最も簡単な方法は?
- 21. DataGridViewからローカルSQLテーブルにデータを取得する最も簡単で簡単なソリューションは何ですか?
- 22. サブデータフレームを取得する最も簡単な方法は何ですか?
- 23. 最も簡単な方法は、プログラム
- 24. 最も簡単な方法は、垂直
- 25. 最も簡単な方法は、Express
- 26. 最も簡単な方法は、
- 27. 返す最も簡単な方法は、繰り返しのキーの単語値を取得するか?例えば1 = 1?
- 28. ベアボーンからデータをエクスポートする最も簡単な方法OS
- 29. gensim Doc2Vecから単語ベクトルを取得するには?
- 30. SharePoint 2010:Webアプリケーションのアイテム数を取得する最も簡単な方法は?
冗長に見えます。 (しかし、ねえ、私はC++を求めました)なぜFoo Bahのforループの代わりに 'std :: copy'を使うのですか? –
@MTsoul:ほとんどの場合、アルゴリズムが完全に狂っていない限り(私はこの境界線を認めますが...) –
'std :: copy()'は必要ありません。 'std :: vector'のコンストラクタを使います。 – wilhelmtell