바이너리 파일을 버퍼로 읽은 다음 버퍼를 다른 파일에 쓰는 코드를 작성하려고합니다. 다음 코드가 있지만 버퍼는 파일의 첫 번째 줄에서 두 개의 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 );
28
iostream 또는 C 파일 처리를 사용하기로 결정해야합니다. 둘 다 사용하지 마십시오.
—
frast