問題タブ [istream]

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 投票する
3 に答える
3534 参照

image - BYTE* を gdi+ 画像オブジェクトに変換するには?

BYTE* を gdi+ Image オブジェクトに変換したいと考えています。

これどうやってするの?

BYTE* は Dib ポイントのようです。

Image には Image::FromStream() という名前のメソッドがあり、これが役立つ可能性がありますが、BYTE* を IStream オブジェクトに変換する方法についての参照が見つかりません。これどうやってするの?

前もって感謝します!

実際、MS が IStream インターフェイスを提供しているとは信じがたいですが、インターフェイスを実装する c++ MemoryStream クラスは提供していません。

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

c# - C# で IntPtr を ulong 変数に取得する

IntPtr を IStream.Read に渡す必要があり、IntPtr は ulong 変数を指す必要があります。ulong 変数を指すこの IntPtr を取得するにはどうすればよいですか?

0 投票する
5 に答える
2885 参照

c++ - ファイル名またはディレクトリの入力をユーザーに求める

ユーザーにファイル名の入力を求めています。最初に有効なファイル名を入力すると、機能します。ただし、最初に無効な場合、他のすべてのチェックは失敗します。どうすればこれを修正できますか? また、ディレクトリを指定したとしましょう。すべてのテキスト ファイルの名前とその数を取得するにはどうすればよいでしょうか。

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

c++ - バイナリデータを保存するためにMySQLC++コネクタを使用するにはどうすればよいですか?

次のように定義されたバイナリデータのブロックがあります。

void *アドレス、size_t binarySize;

MySQLC++コネクタを使用してMySQLデータベースに保存したい。

関数setBlob()はistreamを取ります。

質問:

生のvoid*アドレスsize_tbinarySizeからistreamオブジェクトまたはistringstreamに変換するにはどうすればよいですか?データを「コピー」せずにこれを行うことは可能ですか?つまり、ポインタとサイズをistreamに伝えて、ポインタが指すようにします。

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

c# - C# から IStorage/IStream を使用して Windows エクスプローラーにドラッグ アンド ドロップする

私はあまりにも長い間、単純な機能のように聞こえるものに取り組んできました。アイデアは、私は TreeView を持つアプリケーションを持っているということです。このツリービューは、Windows エクスプローラーと同様に、ファイルとフォルダーに編成されたデータベースの内容を表します。したがって、ユーザーがこれらのファイル/フォルダーをアプリから Windows エクスプローラーにドラッグできるようにすることは理にかなっています。

IStreamファイルをドラッグする場合は を使用するかIStorage、フォルダーをドラッグする場合は を使用することにしました。非常に長い時間をかけて、Win32/COM について知りたいと思っていた以上のことを学んだ後 (そして、ここで非常に親切な人からの助言を受けて)、ついにそれを手に入れた、IStreamまたはIStorage作成しました。

次に、これを Windows エクスプローラーに渡しIStreamたり、オフにしたりするには、 . もちろん、 medium.tymed は、どちらを使用しているかに応じて または になりますが、私が理解しているように、は へのポインターでなければなりません。IStorageSTGMEDIUMIStreamIStoragemedium.unionmemberIStream/IStorage

私は固定されたキーワードを使用してみました(もちろん、それはblittableではありません)、爆破されたものをバイト配列に変換しようとしましたが、それを実現する方法を思いつくことができませんでした。 GCHandle を使用して固定する (ただし、まだ blittable ではありません)、および機能しなかった他のいくつかのこと。

私の質問は次のとおりです: と が与えられIStorage sた場合、Windows エクスプローラーが満足してドロップを受け入れるようにするSTGMEDIUM mにはどうすればよいですか?m.unionmember

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

c++ - std :: istreamから(演算子>>を使用して)読み取るにはどうすればよいですか?

std::istreamを使用してどのように読み取ることができoperator>>ますか?

私は次のことを試しました:

しかし、それはエラーを与えます:

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

c++ - すでにストリームの最後にあるistream_iteratorをインクリメントした結果はどうなりますか?

私は標準を見ましたが、明白な答えは見当たりませんでした。

私がこれをしたとしましょう:

現在isはストリームの最後にあり、に等しくなりstd::istream_iterator<char>()ます。もう一度インクリメントするとどうなりますか?それはまだ等しいstd::istream_iterator<char>()ですか?またはos結果は未定義ですか?

がストリームの最後にある*is場合、標準はそれが未定義の動作であると明示的に述べています。isしかし、ストリームの終わりを超えて反復することに関しては何も見ていません...

編集

私はこのようなことをするいくつかのコードに出くわしたので尋ねます:

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

c# - C#経由でIStreamをファイルに保存するには?

IStream オブジェクト (System.Runtime.InteropServices.ComTypes.IStream) を返すサードパーティ コンポーネントを使用しています。その ISt​​ream のデータを取得してファイルに書き込む必要があります。私はそれを成し遂げることができましたが、コードにはあまり満足していません.

「strm」が私のIStreamであるため、これが私のテストコードです...

少なくとも、上記のように long から int へのキャストは好きではありませんが、上記よりも元のストリームの長さを取得するためのより良い方法はないのでしょうか? 私はC#に少し慣れていないので、ポインタに感謝します。

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

c++ - istreamgetメソッドの動作

私はistream::getを読みましたが、疑問はまだ残っています。私の区切り文字が実際にはNULLの「\0」文字であるとしましょう。この場合はどうなりますか?私が読んだものから:

If the delimiting character is found, it is not extracted from the input sequence and remains as the next character to be extracted. Use getline if you want this character to be extracted (and discarded). The ending null character that signals the end of a c-string is automatically appended at the end of the content stored in s.

「readline」よりも「get」を好む理由は、文字ストリームを「streambuf」に抽出できるためです。