サーバーから取得したファイルにイメージを置こうとしています。 fwrite
機能を使用していますが、実際には機能しません。最大の問題は、\
という文字を書くことができないということです。またはそうでないかもしれません。私はそれをどうするか分からない。誰かが私が間違っていることを知っていますか?前もって感謝します。イメージをファイルに書き込む - 間違った出力
は、ここに私のfwriteのコードです:
バッファは、サーバから取得したデータが含まれていFILE * pFile;
if((pFile = fopen ("test", "wb")) == NULL) error(1);
fwrite (buffer.c_str() , 1, buffer.size(), pFile);
。それが純粋なhtmlを含んでいるとき、それはうまく働く。ここで
は私の出力である:ここでは
GIF89a¥ÈÔ
は、それが書くことになっていたものです。
GIF89a\A5\C8\00
'buffer.size()' Cコードのように見えません。 C++を使用する場合は、C++コーディングスタイルを使用します。 – Olaf
そうです。私は文字列関数のためにC++で書いています。 –
なぜ 'buffer.c_str()'(テキスト)を使ってバイナリデータ(イメージファイルの内容)を書き込もうとしていますか?あなたが今得ている出力は、バイナリデータをテキストとして表示する場合、ファイルに含めるべきものに非常によく似ていますが、目的の出力は有効なイメージファイルの内容ではありません。 –