fopen open函數的區別,聯繫,即相互轉化

FILE *fopen(char *filename, char *mode);
int open(const char *path, int access,int mode);

fopen open區別

1 open函數是linux系統調用,而fopen函數是標準c庫函數,所以fopen函數可移植性更好。
2 fopen函數作爲標準c庫函數,在不同操作系統下要藉助相應的系統調用實現,在linux下,fopen底層是靠open實現的,在open函數基礎上,fopen實現了io緩衝,所以從這點上看,fopen是高級io,open是低級io。
3 fopen返回一個文件指針,open返回一個文件描述符。
4 fopen配套fread,fwrite等,open配套read,write等函數。

fopen open類相互轉化

FILE* –> int fileno();
int —> FILE* fdopen();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章