C fopen vs açık
Kullanmak istediğiniz herhangi bir nedenle (sözdizimsel olanlar hariç)
FILE *fdopen(int fd, const char *mode);
ya
FILE *fopen(const char *path, const char *mode);
yerine
int open(const char *pathname, int flags, mode_t mode);
Linux ortamında C kullanırken?
CEVAP
Açmak yerine fopen kullanmak için dört ana nedeni vardır.
fopen
bir sürüopen
ile ne yaptığını daha hızlı olabileceğini tampon IO sağlar.fopen
Eğer dosya varsa programınızı hiç Unix olmayan bir ortama taşıdık ise çok yararlı olabilir hangi ikili modda açılırsa değil line çeviri bitiş yapar.FILE *
fscanf
ve diğer istasyonu. fonksiyonları kullanma yeteneği verir.- Kodunuzu bir gün sadece ANSI C destekleyen başka bir platforma taşıdık olabilir
open
işlevi desteklemiyor.
Bence line çeviri daha sık biten size yardımcı olur daha bu şekilde alır, ve fscanf ayrıştırma kaçınılmaz olarak onu daha işe yarar bir yana atarak sonunda o kadar zayıf.
Ve C destekleyen en platformlar open
bir işlevi var.
Bu tampon soru bırakır. Özellikle okuma veya bir dosya sırayla yazıyoruz yerlerde, tampon desteği gerçekten yararlı ve büyük hızlı bir gelişme. Ama veri orada beklediğiniz zaman dosya sonu gelmez ilginç bazı sorunlara yol açabilir. fclose
fflush
hatırlamak için uygun zaman.
Eğer istiyor yapıyorsan, tampon kullanışlılığını hızla aşağı gider.
Elbette, benim önyargı olduğunu meyilli bir çalışma ile yuva bir sürü, ve orada aslında gerçekten istediğin için yapmak engellenmeyen İO (FILE *
tamamen başarısız desteklemek için herhangi bir makul bir şekilde) hayır tamponlama ve genellikle karmaşık ayrıştırma şartları gerçekten benim renk algılamaları.
mysql: belirli bir veritabanı için açı...
Bash, nasıl bir geçerli giriş açık mı?...
Bildirim tıklayın: etkinliği zaten açı...
Döküm operatörü açık olabilir mi?...
Android SDK manager't açık ' I ka...