問題タブ [iostream]
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.
networking - MDS を使用する Blackberry で SocketConnection を使用する際の問題
現在、ネットワーク上の別の TCP ベースのデバイスに生データを簡単に送受信するためのアプリを Blackberry で作成しています。MDS シミュレーターを実行し、会社の MDS サーバーと通信する物理電話を使用している Blackberry シミュレーターでも同じ問題が発生しています。この問題は、MDS 経由ではなく Wi-Fi を直接使用する場合には発生しないことに注意してください。
問題は、最初に read() を呼び出さない限り、InputStream の available() 関数がゼロを返すことです。最初に read を呼び出すと (使用可能なデータがあることを知って..wireshark に感謝します)、データが返され、その後に available() を呼び出すと、読み取れなかったデータが残っていることが示されます。問題は、データが存在することが常に保証されるとは限らないため、ブロックされる可能性があることです。誰かがこれを認識していますか?これは問題ですか、それとも設計上のものですか?
read() メソッドが available とは別に呼び出す前にブロックされるかどうかをテストする方法を知っている人はいますか?
これが基本的に私がやっていることです:
これが機能するには、条件付きの if をコメントアウトする必要があります。
c++ - ASCIIファイルから数字を読み取る方法(C ++)
次のようなデータファイルを読み込む必要があります。
このファイルをfloatの配列に読み込む最も洗練された方法は何でしょうか。
私は、各1行を文字列に読み取る方法と、を使用して文字列をfloatに変換する方法を知っていますatof()
。しかし、どうすれば残りを最も簡単に行うことができますか?
文字列バッファについて聞いたことがありますが、これは役に立ちますか?
c++ - iostream オブジェクトが演算子 bool をオーバーロードしないのはなぜですか?
この回答std::ifstream
では、オブジェクトの変換を使用しbool
て、ストリームがまだ良好な状態にあるかどうかをテストすることについて話します。詳細について Josuttis の本 (p. 600) を調べたところ、iostream
オブジェクトが実際にオーバーロードしていることがわかりましたoperator void*
。ストリームが不正な場合 (暗黙的に に変換される) は null ポインターを返し、false
それ以外の場合 (暗黙的に に変換される) は非null ポインターを返しますtrue
。オーバーロードしないのはなぜoperator bool
ですか?
c++ - MSVC 2005 の operator<< をスレッド間でスケーリングする際のパフォーマンスの問題
operator<<
いくつかのログを見ていると、プロファイラーでint の書式設定などに多くの時間を費やしていることに気付きました。ostream::operator<<
int(およびおそらくdouble)をフォーマットするときに呼び出されるたびに使用される共有ロックがあるようです。さらに調査した結果、次の例に絞り込みました。
フォーマットを行うために使用する Loop1 ostringstream
:
ostringstream
同じことを使用して int 形式以外のすべてを行うLoop2 は、次のように行われitoa
ます。
テストでは、各ループを 1、2、3、および 4 スレッドで何度も実行しました (4 コアのマシンを使用しています)。試行回数は一定です。出力は次のとおりです。
ご覧のとおり、ostringstream を使用したときのパフォーマンスはひどいものです。スレッドを追加すると 30 倍悪化しますが、itoa は約 2 倍速くなります。
1 つのアイデアは、この記事で M$ が_configthreadlocale(_ENABLE_PER_THREAD_LOCALE)
推奨するように使用することです。それは私を助けないようです。同様の問題を抱えていると思われる別のユーザーがいます。
アプリケーションで並行して実行される複数のスレッドで int をフォーマットできる必要があります。この問題を考えると、これを機能させる方法を理解するか、別のフォーマット ソリューションを見つける必要があります。整数型と浮動小数点型に対してオーバーロードされた operator<< を使用して単純なクラスをコーディングし、基になるストリームで operator<< を呼び出すだけのテンプレート バージョンを作成することができます。operator<<(ostream&,T)
少し醜いですが、私はそれを機能させることができると思いますostream
.
また、これが Microsoft Visual Studio 2005 でビルドされていることも明確にする必要があります。この制限は、標準ライブラリの実装に起因すると考えています。
c++ - conio.h の getch() に対する iostream.h の代替関数は?
ヘッダー ファイルを使用して出力に画面を保持しようとしていますが、 inまたは他の C++ ライブラリの&関数に<iostream.h>
相当する関数がわかりません。そのような機能はありますか?getch()
clrscr()
<conio.h>
<iostream.h>
c++ - ダブルとして宣言された変数をC++のテキストファイルにどのように出力しますか
私はC++に非常に慣れていないので、doubleとして宣言された変数をtxtファイルにどのように出力/書き込みするのか疑問に思っています。fstreamを使用して文字列を出力する方法は知っていますが、他のものを送信する方法がわかりません。文字列以外はテキストファイルに送信できないと思い始めていますが、それは正しいですか?もしそうなら、変数に格納されている情報を文字列変数にどのように変換しますか?
これが私がこの概念を実装しようとしている私のコードです、それはかなり単純です:
だから私がやろうとしているのは、それらの変数を使ってテキストファイルに出力することです。また、このソースコードに使用する必要のあるインクルードについて教えてください。他の方法でもコードを改善する方法について、遠慮なく提案してください。
前もって感謝します。
c++ - wcout を使用して char* を出力しても問題ありませんか?
次の行を検討してください。
char*
パスでもchar
ワイドストリームでもOK ?
c++ - char以外の要素タイプでbasic_filebufを使用するにはどうすればよいですか?
を使用してファイルの内容を読み取りたいとしますbasic_filebuf
。boost::uintmax_t
サイズが。というタイプがあり8 bytes
ます。私は次のように書き込もうとしています。
問題は、一部はbytes
読み取られ、他は読み取られないことです。たとえば9 bytes
、ファイルに次の番号が付けられているとします1-9
。
上記のコードを実行すると、1つの要素のみがにプッシュバックされます。これには、 :の元のデータからのデータのみdata
が含まれます。4 bytes
f
私は何が間違っているのですか?basic_filebuf
使い方は知っていますが、直接使うのは初めてfilebuf
です。