Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Akışlar başlangıçta metin için tasarlandığından varsayılan çıkış modu metindir. Metin modunda, satır besleme (yeni satır) karakteri bir satır başı satır besleme çiftine genişletir. Genişletme, burada 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ın { 99, 0, 10, 0 } bayt dizisinin çıkışını yapmasını bekleyebilirsiniz; bunun yerine, ikili giriş bekleyen bir program için sorunlara neden olan { 99, 0, 13, 10, 0 } çıkışını alır. Karakterlerin çevrilmemiş olarak yazıldığı gerçek ikili çıktıya ihtiyacınız varsa, akış oluşturucu openmode bağımsız değişkenini kullanarak ikili çıktı belirtebilirsiniz:
// 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 );
}