Akış G/Ç
Bu işlevler, tek karakterden büyük veri yapılarına kadar farklı boyutlarda ve biçimlerde verileri işler. Ayrıca performansı geliştirebilecek arabelleğe alma da sağlar. Bir akış arabelleğinin varsayılan boyutu 4K'dır. Bu yordamlar yalnızca çalışma zamanı kitaplığı yordamları tarafından oluşturulan arabellekleri etkiler ve işletim sistemi tarafından oluşturulan arabellekleri etkilemez.
Akış G/Ç yordamları
Yordam | Kullanma |
---|---|
clearerr , clearerr_s |
Akış için hata göstergesini temizle |
fclose |
Akışı kapat |
_fcloseall |
, stdout ve dışındaki stdin tüm açık akışları kapatınstderr |
_fdopen , wfdopen |
Akışı açık dosyanın dosya tanımlayıcısıyla ilişkilendirme |
feof |
Akışta dosya sonunu test edin |
ferror |
Akışta hata için test |
fflush |
Akışı arabelleğe veya depolama cihazına boşaltma |
fgetc , fgetwc |
Akıştan karakter okuma (ve getwc 'nin getc işlev sürümleri) |
_fgetchar , _fgetwchar |
'den stdin karakter okuma (ve'nin getwchar getchar işlev sürümleri) |
fgetpos |
Akışın konum göstergesini alma |
fgets , fgetws |
Akıştan dize okuma |
_fileno |
Akışla ilişkilendirilmiş dosya tanımlayıcısı alma |
_flushall |
Tüm akışları arabelleğe veya depolama cihazına boşalt |
fopen , _wfopen , fopen_s , _wfopen_s |
Akışı açma |
fprintf , _fprintf_l , fwprintf , ,_fwprintf_l , fprintf_s , _fprintf_s_l , fwprintf_s ,_fwprintf_s_l |
Akışa biçimlendirilmiş veri yazma |
fputc , fputwc |
Akışa karakter yazma (ve putwc işlev sürümleriputc ) |
_fputchar , _fputwchar |
'a stdout karakter yazma (ve'nin putwchar putchar işlev sürümleri) |
fputs , fputws |
Akışa dize yazma |
fread |
Akıştan biçimlendirilmemiş verileri okuma |
freopen , _wfreopen , freopen_s , _wfreopen_s |
Akış işaretçisini yeni dosyaya veya cihaza yeniden atama FILE |
fscanf , fwscanf , fscanf_s , , _fscanf_s_l , fwscanf_s , _fwscanf_s_l |
Biçimlendirilmiş verileri akıştan okuma |
fseek , _fseeki64 |
Dosya konumunu verilen konuma taşıma |
fsetpos |
Akışın konum göstergesini ayarlama |
_fsopen , _wfsopen |
Dosya paylaşımıyla akışı açma |
ftell , _ftelli64 |
Geçerli dosya konumunu alma |
fwrite |
Akışa biçimlendirilmemiş veri öğeleri yazma |
getc , getwc |
Akıştan karakter okuma (ve fgetwc 'nin fgetc makro sürümleri) |
getchar , getwchar |
'den stdin karakter okuma (ve fgetwchar 'nin fgetchar makro sürümleri) |
_getmaxstdio |
Akış G/Ç düzeyinde izin verilen eşzamanlı olarak açık dosyaların sayısını döndürür. |
gets_s , _getws_s |
Satırı şu kaynaktan okuma: stdin |
_getw |
Akıştan ikili int okuma |
printf , , _printf_l wprintf , _wprintf_l ,printf_s , _printf_s_l , , wprintf_s _wprintf_s_l |
Biçimlendirilmiş verileri stdout |
putc , putwc |
Akışa karakter yazma (ve'nin fputc fputwc makro sürümleri) |
putchar , putwchar |
'a stdout karakter yazma (ve'nin fputwchar fputchar makro sürümleri) |
puts , _putws |
Akışa satır yazma |
_putw |
Akışa ikili int yazma |
rewind |
Dosya konumunu akışın başına taşıma |
_rmtmp |
Tarafından oluşturulan geçici dosyaları kaldırma tmpfile |
scanf , , _scanf_l wscanf , _wscanf_l ,scanf_s , _scanf_s_l , , wscanf_s _wscanf_s_l |
Biçimlendirilmiş verileri okuma stdin |
setbuf |
Akış arabelleğe almayı denetleme |
_setmaxstdio |
Akış G/Ç düzeyinde aynı anda açılan dosya sayısı için maksimum değeri ayarlayın. |
setvbuf |
Akış arabelleği ve arabellek boyutunu denetleme |
_snprintf , _snwprintf , _snprintf_s , , _snprintf_s_l , _snwprintf_s , _snwprintf_s_l |
Belirtilen uzunluktaki biçimlendirilmiş verileri dizeye yazma |
_snscanf , _snwscanf , _snscanf_s , , _snscanf_s_l , _snwscanf_s , _snwscanf_s_l |
Standart giriş akışından belirtilen uzunluktaki biçimlendirilmiş verileri okuyun. |
sprintf , swprintf , sprintf_s , , _sprintf_s_l , swprintf_s , _swprintf_s_l |
Biçimlendirilmiş verileri dizeye yazma |
sscanf , swscanf , sscanf_s , _sscanf_s_l, swscanf_s , _swscanf_s_l |
Dizeden biçimlendirilmiş verileri okuma |
_tempnam , _wtempnam |
Verilen dizinde geçici dosya adı oluşturma |
tmpfile , tmpfile_s |
Geçici dosya oluşturma |
tmpnam , _wtmpnam , tmpnam_s , _wtmpnam_s |
Geçici dosya adı oluşturma |
ungetc , ungetwc |
Karakteri akışa geri gönderme |
_vcprintf , _vcwprintf , _vcprintf_s , , _vcprintf_s_l , _vcwprintf_s , _vcwprintf_s_l |
Biçimlendirilmiş verileri konsola yazın. |
vfprintf , vfwprintf , vfprintf_s , , _vfprintf_s_l , vfwprintf_s , _vfwprintf_s_l |
Akışa biçimlendirilmiş veri yazma |
vprintf , vwprintf , vprintf_s , , _vprintf_s_l , vwprintf_s , _vwprintf_s_l |
Biçimlendirilmiş verileri stdout |
_vsnprintf , _vsnwprintf , vsnprintf_s , , _vsnprintf_s , _vsnprintf_s_l , _vsnwprintf_s , _vsnwprintf_s_l |
Belirtilen uzunluktaki biçimlendirilmiş verileri arabelleğe yazma |
vsprintf , vswprintf , vsprintf_s , , _vsprintf_s_l , vswprintf_s , _vswprintf_s_l |
Biçimlendirilmiş verileri arabelleğe yazma |
Bir program yürütmeye başladığında, başlangıç kodu otomatik olarak birkaç akış açar: standart giriş (tarafından stdin
işaret edilen), standart çıkış (işaret eden stdout
) ve standart hata (tarafından stderr
işaret edilir). Bu akışlar varsayılan olarak konsola (klavye ve ekran) yönlendirilir. , veya stdout
öğesini bir disk dosyasına veya stderr
cihaza yeniden yönlendirmek stdin
için kullanınfreopen
.
Akış yordamları kullanılarak açılan dosyalar varsayılan olarak arabelleğe alınıyor. stdout
ve stderr
işlevleri her dolu olduğunda veya bir karakter cihazına yazıyorsanız, her kitaplık çağrısından sonra temizlenir. Program anormal şekilde sonlandırılırsa çıkış arabellekleri boşaltılmayabilir ve bu da veri kaybına neden olabilir. Belirtilen bir dosyayla ilişkili arabelleğin işletim sistemine boşaltıldığından veya tüm açık arabelleklerin boşaltıldığından emin olmak için veya _flushall
kullanınfflush
. İşletim sistemi verileri diske yazmadan önce önbelleğe alabilir. Diske işleme özelliği, sistem hatası olduğunda boşaltılan arabellek içeriğinin kaybolmamasını sağlar.
Arabellek içeriğini diske işlemenin iki yolu vardır:
COMMODE dosyasıyla bağlantı. Genel işleme bayrağı ayarlamak için OBJ. Genel bayrağın varsayılan ayarı, "işleme yok" için şeklindedir
n
.mod bayrağını veya
_fdopen
ilefopen
olarakc
ayarlayın.
Veya n
bayrağıyla c
özel olarak açılan tüm dosyalar, genel işleme/işleme yok bayrağının durumundan bağımsız olarak bayrağına göre davranır.
Programınız bir akışı açıkça kapatmazsa, program sonlandırıldığında akış otomatik olarak kapatılır. Ancak, bir kerede açık olabilecek akış sayısı sınırlı olduğundan, programınız bu akışı tamamladığında bir akışı kapatmalısınız. Bu sınır hakkında bilgi için bkz _setmaxstdio
.
Giriş, çıkışı yalnızca dosya konumlandırma işlevine fflush
(fseek
, fsetpos
veya rewind
) veya öğesine gelen bir araya gelen çağrıyla doğrudan izleyebilir. Giriş işlemi dosyanın sonuyla karşılaşırsa, girişin ardından dosya konumlandırma işlevine bir araya gelen çağrı olmadan çıkış gelebilir.
Ayrıca bkz.
Giriş ve çıkış
Kategoriye göre Evrensel C çalışma zamanı yordamları