問題タブ [ostringstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - スペースで区切られたデータを読み取り、適切なコンテナにプッシュします
入力ストリームからスペースで区切られたデータを読み取る方法に問題があります。
J 123 7 3 M を入力する必要があるとしましょう。最初は文字で、最後は文字です。残りはintです。
しかし、このコードは問題を解決しません。いろいろな組み合わせを試しましたが、まだ何もありません。
すべてをcharとして読み取ってからintに変換できると考えていました。
それと同様の質問があることは知っていますが、私の場合は、ダイナミ配列ではなく文字列なしで解決したいと思います(動的配列である可能性がありますが、長さは設定されていません)。
編集
私は次の方法でそのようなストラムを読むことができました:
ただし、1 つ問題があります。「F 1 23 2 2 W」と入力すると、F12322@ が表示されます。末尾に「@」が付いている理由がわかりません。何かご意見は?
EDIT2:
whileループの後、問題は解決します。
c++ - ostringstream をファイルに出力する
現在、の内容をostringstream
ファイルに書き込むためにこれを行っています。
ただし、これにより、以前にファイルにあったものが上書きされます。
そこで、cv::FileStorage fs("subVec.txt", cv::FileStorage::WRITE);
to をループの前に移動し、to をループのfs.release
後に移動しました。
これは、 に継続的に書き込みを行っていたため、一定の方法で機能しましたが.txt
、重複したキーが原因で使用できませんでした:
subVecがどのように繰り返されるかを見る
ostringstream
内容を毎回上書きするのではなく、実際に読み取り可能なファイルに保存する方法を探しています。
OpenCV エラー: cvGetFileNode での解析エラー (subVec.txt(27): 重複したキー)
c++ - 渡された文字列を ostringstream に変更させたい
std::ostringstream
渡す文字列を変更したい:
上記のコードでは、の出力error_message
は空です。
これは、cppreference.com によると、そのコンストラクター が a への参照をstd::basic_ostream
取るためです。これは、が渡された文字列を変更しないことを意味します。引用された参照は、渡された文字列 のコピーを作成するとさえ言っています。std::stream
const
std::string
std::basic_ostringstream
std::ostringstream
これを回避するために、関数を次のように変更しました。
直接書き込み (つまり、ストリームからコピーする必要なし) など、フォーマットされた出力を文字列に実行するためのより効率的な方法はありますか?
C++11 をサポートしていないVisual Studio 2010 を使用しています。ショップの都合により、2013年へのアップグレードの正当性は認められませんでした。そのため、C++11 または C++14 の機能を使用できません。
c++ - C++ で uint8_t の配列を文字列に変換する
タイプ uint8_t の配列があります。配列の各要素を連結する文字列を作成したいと考えています。これはostringstreamを使用した私の試みですが、後で文字列が空になるようです。
c++ - Visual Studio: "str() は std::ostringstream のメンバーではありません"
Visual Studio 2013 でコンパイル エラーが発生し (Xcode 6.2 のコンパイル中)、意味がわかりません:
次のコード例は、フォーマット変換から抜粋した要約です。
次のバージョンのコンパイル中:
環境:
ここで何が恋しいですか?ありがとう!
c++ - C++ で異なる型の変数のリストをカンマ区切りの文字列に連結する最速の方法は何ですか?
それらを結合して文字列を生成しようとしていますstring res = "test,123.45,43.23,c"
。最速の方法は何ですか?
ostringstream
良いですが、十分に速くないようです。
c++ - basic_stringbuf には「freeze」という名前のメンバーがありません
次のコードはコンパイルに失敗します。
コンパイル時に次のエラーが発生します。
Google で検索した後、ostrstream の代わりに ostringstream を使用する必要があると思われるため、プログラムを次のように変更しました。
しかし、今では次のエラーが発生します。
c++ - ファイルに書き込むためのstringstreamまたはostringstream?
ostringstream
からにデータを書き込むには、次のofstream
ように記述する必要があります。
一方、を使用するstringstream
と、バッファに直接アクセスできます。
問題はostringstream::str()
、私のプログラムには非常に巨大な文字列があるため、文字列のコピーを作成することです。これstringstream
は、読み取りのためにバッファに直接アクセスできるため、より良いはずです。そして、ここの人々は、出力操作だけを扱う場合は、 を使用ostringstream
するべきだと言います。stringstream
さまざまな種類のデータを挿入しているため、単純に文字列を使用することはできません。それで、誰かがこれに対処する方法についてアドバイスをくれませんか?