に私はistringstream
を使用するときに私の変数でありますどのように多くの文字列を知りたいどのように多くの文字列を検索"1 2 3 4"
、私はistringstream
を使用するとき、私は方法を知りたいです多くの文字列はss
(この場合は4)です。istringstream
答えて
私が知っている唯一の方法は、見るために文字列を解析することです。 、
std::distance(std::istream_iterator<string>(ss),
std::istream_iterator<string>());
その後、彼はストリームを読み、それを再度読み込んで再読み込みする必要があります。 –
@JamesKanze:もちろん、ストリングストリームで行うのはかなり簡単です。明らかな選択肢は、データをベクトルに読み込んだ後、ベクトルのサイズを見つけることです。 –
#include <iostream>
#include <sstream>
#include <algorithm>
#include <ctype.h>
int main()
{
std::string str = ss.str();
// int c = (int) std::count_if (str.begin(), str.end(), isspace) + 1;
int c = 1; // 0
for (unsigned int i = 0; i <str.size(); i++)
if (isspace(str[i]))
c++;
std::cout << c;
return 1;
}
それはうまくいきませんでした。コンパイラはcount_ifを知らない – EricJ
名前は 'std :: count_if'です。 –
もちろん、フィールド数については何も教えてくれません。 –
あなたが好きな何かを行うことができますループ
while(ss>>cadena) {
- 1. istringstreamは、メソッドの実装
- 2. はistringstream(C++)からではないのgetline()は
- 3. C++、キーボードから別の関数を呼び出すしようとしているが、私はistringstream etc.Hereは私の単純化したコードで、原因CINと知識/経験の私の不足のためにいくつかの問題に直面してきましたistringstream
- 4. >>を使ってtmp変数に代入せずにstd :: istringstreamから単語を読み込む方法は?
- 5. 「オフつのエラーにより、」C++で
- 6. なぜ洗浄が失敗するのですか?
- 7. 一時的なストリームから文字を抽出するときのGCCコンパイラエラー
- 8. C++コンパイルエラー:初期化子が、不完全タイプ
- 9. 式は定数値を持つ必要があります
- 10. vC++で文字列をdoubleに変換する
- 11. <dirent.h>に新しく、ディレクトリのデータにアクセスしようとしています
- 12. C++:stringstreamからの読み込み
- 13. VC9の文字列バグ?私はこのエラーを取得する
- 14. ブースト・スピリット:値ペアの文字列をマップ<文字列、文字列>に変換する方法
- 15. 列挙型をサポートするために字句キャストを拡張するにはどうすればよいですか?
- 16. コピーを作成せずにstd :: stringからストリームを作成しますか?
- 17. 小数点のセパレータと桁数をstd :: stod(double to string)に微調整する方法
- 18. "istream&object"には&とifstreamが必要ですか?
- 19. 文字列を分割した後に個々の単語にアクセスするにはどうすればよいですか?
- 20. 文字列トークンのストリームを変換するときに反復ストリーム構造が繰り返されるのを避けるには
- 21. 入力ファイルを読み込んでデータを配列に保存する(初心者)!
- 22. テンプレートメソッドの定義されていない参照エラー
- 23. テキストファイルからのデータを構造体の配列に挿入する方法
- 24. 'std :: string GetAttribute(std :: string)'の 'this'引数として 'const link'を渡すと修飾子が破棄されます
- 25. istream getキャラクタバッファを実装しますか?
- 26. ませマッチ>>ローカル」
- 27. 参照を持ち、デフォルトのコンストラクタ(boost :: serialization)を持たないオブジェクトを逆直列化します。
- 28. このstl演算子>>関数はマジックを起こしますか?
- 29. バイナリデータの格納にMySQL C++コネクタを使用するにはどうすればよいですか?
- 30. 語彙キャスト文字列を2倍にする
まあ、 'stringstream'は' vector'ない間に追加します。
istream_iterator
とstd::distance
はあなたのためにそれを行うことができます... –どの文字を文字列を終了するとみなしますか?スペースのみですか? – perreal
私は数字の間のスペースを数えたくないので、私はistringstreamを使用します。 – EricJ