Aracılığıyla paylaş


İkili çıktı dosyaları

Varsayılan çıkış modu metin, bu nedenle akış başlangıçta metin için tasarlanmıştır.Metin modunda yeni satır karakteri (onaltılık 10) bir satır başı return–linefeed (yalnızca 16 bit) genişletir.Genişletme, aşağıda gösterildiği gibi sorunlara neden olabilir:

// 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 ) );
}

Bu program {99, 0, 10, 0}; bayt sırası çıktı beklediğiniz Bunun yerine, {99, 0, 13, 10, 0}, hangi ikili girişi bekleniyor bir program için sorun neden çıkarır.Untranslated karakter yazılır ikili çıktı true varsa kullanarak ikili çıktı belirtebilirdiniz ofstream yapıcı Modu bağımsız değişkeni:

// 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 ); 
}

Ayrıca bkz.

Başvuru

Çıkış akımları