Aracılığıyla paylaş


_setmode

Dosya çeviri modu ayarlar.

int _setmode (
   int fd,
   int mode 
);

Parametreler

  • fd
    Dosya tanımlayıcısı.

  • mode
    Yeni çeviri modu.

Dönüş Değeri

Başarılı olursa, önceki çeviri modu döndürür.

Bu işleve geçersiz parametre iletilmediyse, parametre geçersiz işleyici, açıklandığı şekilde çağrılır Parametre doğrulama.Yürütülmesine devam etmek için bu işlevi döndürür –1 ve kümeleri veriliyorsa, errno için ya da EBADF, geçersiz dosya tanımlayıcısı belirtir veya EINVAL, geçersiz bir gösterir mode bağımsız değişkeni.

Bunlar ve diğer dönüş kodları hakkında daha fazla bilgi için bkz: _doserrno, errno, _sys_errlist ve _sys_nerr.

Notlar

_setmode İşlevi ayarlar mode tarafından verilen dosya çeviri modunu fd.Kağıt geçirme _O_TEXT olarak mode (çevrilmiş) metni ayarlar modu.Tek bir satır besleme karakteri girdi içine satır başı return–line (cr-lf) birleşimleri besleme çevrilir.Satır besleme karakterlerini çıktıda cr-lf birleşimler halinde çevrilir.Kağıt geçirme _O_BINARY bu çevirileri bastırılmış kümeleri ikili (untranslated) modunda.

Ayrıca iletebilirsiniz _O_U16TEXT, _O_U8TEXT, ya da _O_WTEXT bu belgenin devamındaki İkinci örnekte gösterildiği gibi Unicode modu etkinleştirmek için._setmodegenellikle varsayılan çeviri modunu değiştirmek için kullanılan stdin ve stdout, ancak herhangi bir dosyayı kullanın.Uygularsanız, _setmode bir akışı için dosya tanımlayıcısı için çağrı _setmode akış üzerinde herhangi bir girdi ve çıktı işlemlerini gerçekleştirmeden önce.

Uyarı notuUyarı

Veri dosya akışı için açıkça temizlemesini kodunu kullanarak yazdığınız, fflush , kullanmadan önce _setmode modunu değiştirmek için.Kodu temizleme değil, beklenmeyen bir davranış alabilirsiniz.Veri akışı yazmadığınızdan, kod temizlemek zorunda değil.

Gereksinimler

Yordamı

Gerekli başlık

İsteğe bağlı üstbilgileri

_setmode

<io.h>

<fcntl.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk.

Örnek

// crt_setmode.c
// This program uses _setmode to change
// stdin from text mode to binary mode.


#include <stdio.h>
#include <fcntl.h>
#include <io.h>

int main( void )
{
   int result;

   // Set "stdin" to have binary mode:
   result = _setmode( _fileno( stdin ), _O_BINARY );
   if( result == -1 )
      perror( "Cannot set mode" );
   else
      printf( "'stdin' successfully changed to binary mode\n" );
}
  
// crt_setmodeunicode.c
// This program uses _setmode to change
// stdout to Unicode. Cyrillic and Ideographic
// characters will appear on the console (if
// your console font supports those character sets).

#include <fcntl.h>
#include <io.h>
#include <stdio.h>

int main(void) {
    _setmode(_fileno(stdout), _O_U16TEXT);
    wprintf(L"\x043a\x043e\x0448\x043a\x0430 \x65e5\x672c\x56fd\n");
    return 0;

}.net Framework eşdeğeri

Ayrıca bkz.

Başvuru

Dosya işleme

_creat, _wcreat

fopen, _wfopen

_open, _wopen

_set_fmode