問題タブ [strstream]

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.

0 投票する
4 に答える
34038 参照

c++ - std::strstream が廃止されたのはなぜですか?

std::strstream私は最近、が推奨されなくなったことを発見しましたstd::stringstream。使用してからしばらく経ちましたが、当時の私が必要としていたことを実行できたので、非推奨と聞いて驚きました。

私の質問は、なぜこの決定が下されたのかということstd::stringstreamですstd::strstream

0 投票する
3 に答える
339 参照

visual-c++ - C++ の strstream

私はコードを書いています

問題があります。一時変数に対してはまったく機能しません。結果として、文字列テストのみで結果が得られ、最後に 10 はありませんか?

}

0 投票する
1 に答える
1538 参照

c++ - キャストまたはコピーなしで const unsigned char* から std::istringstream を初期化する方法は?

と で記述されたバイト シーケンスのバイナリ データがconst unsigned char *pありsize_t lenます。を期待する関数にこのデータを渡すことができるようにしたいstd::istream *.

データをコピーしたり、安全でないキャストを行ったり、新しいストリーム クラスを作成したりせずに、これを行うことができるはずです。しかし、これまでのところ私は失敗しています。誰でも助けることができますか?

アップデート

コメントありがとうございます。これは答えられない質問のように思われます。なぜなら、 と をstd::istream操作するとchar、ある時点で少なくとも からの整数キャストが必要になるからunsigned charです。

実用的なアプローチは、これを行うことです。

&iそして期待する関数に渡しstd::istream *ます。

0 投票する
1 に答える
125 参照

c++ - ostrstreamに関するクエリ

まず第一に、ostrstream は非推奨であり、今後使用すべきではないことをお知らせしたいと思います。

しかし、私の疑問は別のものです。私のアプリケーションのソースコードには、以下のようなコードがあります。

私の興味のあるコード行は最後の行です。この場合、ポインターを削除する必要がありますか?これは私にはかなり厄介に見えます。手動でのメモリ割り当てはありません。正しい方法で考えていますか?

0 投票する
1 に答える
1180 参照

c++ - strstreamのpcountとstringstreamでのフリーズの代わりとなるものは何ですか?

私はstrstreamを使用し、同じのpcountメソッドとfreezeメソッドを使用する古いc++コードを持っています。代わりにstringstreamクラスを使用したいと思います。strstreamのpcountおよびfreezeメソッドの代替は何ですか?コードは次のようなものです。

0 投票する
2 に答える
404 参照

c++ - ostrstream は定数文字列をポインタとして解釈します

古い C/C++ アプリケーションのデバッグ マクロをクリーンアップしているときに、この問題に遭遇しましたostrstream。このような:

チェーンの最初の値が上記のような定数文字列の場合ostrstream::str()、トレーサーを呼び出した結果 (これはデストラクタで実行され、結果をキューに挿入します) には、この文字列へのポインタの 16 進数表現が含まれます。文章。したがって、上記のステートメントは次のような結果になり"0x401a37 message here"ます。これは古いマクロでは発生しませんでした。これは、削除された最初の値として常に長い (スレッド ID) を持っていたためです。

gdb を使用してステップインすると、最初の挿入でoperator<<(void const*)は ostrstream が呼び出され、その後の挿入では呼び出しが行われることがわかりましたoperator<< <...>(basic_ostream<...>&, char const*)(読みやすくするためにテンプレートを削除しました)。

誰かがこの動作を説明できますか? これを修正するためのクリーンな方法は何でしょうか? << left最初の引数として使用する簡単な回避策を見つけました- これは安全ですか? これを行うためのより良い方法はありますか?

最小化された例を次に示します。

0 投票する
2 に答える
835 参照

c++ - 文字列ストリーム関連の問題

私は次のことをしようとしています

a & b は構造内に含まれる値であり、この構造はイベントとして他のプロセスに送信され、これらの値が抽出されます。私が遭遇する問題は、私がするときです

6行目以降string string1は空で、空stringが他のプロセスに渡されます。

stringstream str異なる値を再利用する方法はありますか?

これが実際のコードです -

}

}

アイデアは、すべての文字列を文字列 appDetails に連結し、構造体メンバー SReadDIDResponse.DIDValue を埋めることです そして、ここに構造体 SReadDIDResponse があります

0 投票する
0 に答える
90 参照

c++ - std::strstream は eof と peek を適切に実装していませんか?

次のように定義されたバイトデータソースがあります。

dataSizeゼロではなく、多くの場合非常に大きい (メガバイト)

次のコードが機能します。

stream.eof()は false で、firstByte は です1。これは正しいです

次のコードは機能しません。

stream.eof()は true で、firstByte は です-1。これは正しくありません

strstream が非推奨であることは知っていますが、この場合、着信データの 2 回の割り当てとコピーを回避できます。これは素晴らしいことです。しかし、peek と eof が機能しないのはなぜですか?

編集: で置き換えるstd::strstreamstd::istrstream、これは正常に機能します。実際にはデータから読み取るだけなので、これは問題ありません。しかし、その場合、なぜ std::strstream が機能しないのでしょうか? 私はただ興味があります。

0 投票する
2 に答える
294 参照

c++ - basic_stringbuf には「freeze」という名前のメンバーがありません

次のコードはコンパイルに失敗します。

コンパイル時に次のエラーが発生します。

Google で検索した後、ostrstream の代わりに ostringstream を使用する必要があると思われるため、プログラムを次のように変更しました。

しかし、今では次のエラーが発生します。

0 投票する
2 に答える
4070 参照

c - Cの同じ文字列にstrstr()を複数回適用する

strstr を使用して と タグの間のすべての単語/文字列を抽出するコードを作成しようとしています。しかし、「速い」抽出された最初の文字列に固執しているようです。最初の文字列を抽出した後、コードを続行するにはどうすればよいですか?