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();