1

言語: C++ (MFC) と VS2010

配列に変換できるように、.gz ファイルをストリーミングしようとしています。次に、この配列をサーバーに送信します。サーバーには .gz ファイルが必要なため、内容だけでなく .gz ファイル全体が必要です。

これについてどうすればよいかについて何か提案はありますか?fopen() を試してみましたが、うまくいきません。

これが私の他の試みです:

// common variables
ifstream fGZStream;
char * strData;

1) ifstream の使用:

fGZStream.open(gz_filename, ifstream::binary);
strData = new char[nFileSize];                 //assume nFileSize if already ok
fGZStream.read(strData, nFileSize);
fGZStream.close();

2) CFile の使用:

CFile fGZFile;
file.Open(gz_filename, CFile::modeRead);
strData = new char[nFileSize];                 //assume nFileSize if already ok
file.Read(strData, nFileSize);                 
file.Close();

3) fstream と filebuf の使用:

filebuf* fGZBuffer;
fGZStream.open(gz_filename, ifstream::binary);
strData = new char[nFileSize];                 //assume nFileSize if already ok
fGZBuffer->sgetn(strData, nFileSize);            
fGZStream.close();

これらすべての試行で、strData は常に "." に等しくなります。

よろしくお願いいたします。

4

0 に答える 0