다음을 통해 공유


이진 출력 파일

기본 출력 모드 텍스트 이므로 스트림은 원래 텍스트를 위한 것입니다.텍스트 모드에서 줄 바꿈 문자 (16 진수 10) – 줄은 캐리지 바꿈 합니다 (16 비트에만 해당)를 확장합니다.확장 하면 다음과 같은 문제가 발생할 수 있습니다.:

// binary_output_files.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int iarray[2] = { 99, 10 };
int main( )
{
    ofstream os( "test.dat" );
    os.write( (char *) iarray, sizeof( iarray ) );
}

{99, 0, 10, 0};는 바이트 시퀀스를 출력 하려면이 프로그램을 생각 대신,이 {99, 0, 13, 10, 0}, 어떤 이진 입력 예상 하는 프로그램에 대 한 문제를 일으키는 출력 합니다.Untranslated 문자 작성 이진 출력 true로 해야 하는 경우 사용 하 여 이진 출력 지정할 수 있는 ofstream 생성자 모드 인수:

// binary_output_files2.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int iarray[2] = { 99, 10 };

int main()
{
   ofstream ofs ( "test.dat", ios_base::binary );

   // Exactly 8 bytes written
   ofs.write( (char*)&iarray[0], sizeof(int)*2 ); 
}

참고 항목

참조

출력 스트림