我想寫代碼讀取二進制文件到緩衝區,然後將緩衝區寫入另一個文件。我有以下代碼,但緩衝區僅存儲文件第一行中的幾個ASCII字符,而沒有其他字符。讀取和寫入二進制文件
int length;
char * buffer;
ifstream is;
is.open ("C:\\Final.gif", ios::binary);
// get length of file:
is.seekg (0, ios::end);
length = is.tellg();
is.seekg (0, ios::beg);
// allocate memory:
buffer = new char [length];
// read data as a block:
is.read (buffer,length);
is.close();
FILE *pFile;
pFile = fopen ("C:\\myfile.gif", "w");
fwrite (buffer , 1 , sizeof(buffer) , pFile);
您應該決定使用iostream還是C文件處理。請不要同時使用兩者。 – frast 2011-03-24 14:03:39