Aracılığıyla paylaş


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 , stdoutve dışındaki stdintü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 getwchargetchar 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 putwcişlev sürümleriputc)
_fputchar, _fputwchar 'a stdout karakter yazma (ve'nin putwcharputchar 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_lwprintf, _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 fputwcmakro sürümleri)
putchar, putwchar 'a stdout karakter yazma (ve'nin fputwcharfputchar 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_lwscanf, _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 stdinişaret edilen), standart çıkış (işaret eden stdout) ve standart hata (tarafından stderriş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 stdiniç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 _fdopenile fopen olarak c 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, fsetposveya 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ı