linux下socket通信,server和client简单例子(三)

来源:互联网 发布:sqlserver 添加注释 编辑:程序博客网 时间:2024/05/16 20:29

3. [代码]open等,fopen等说明   

 
01某些注释部分,open,read,write被 fopen,fread,fwrite替换。
02 
03说明一下:
04fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, freopen, fseek, ftell,rewind
05缓冲文件系统
06缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,
07从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的
08操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存
09“缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,
10执行速度就快、效率高。一般来说,文件“缓冲区”的大小随机器 而定。
11 
12open, close, read, write, getc, getchar, putc, putchar 
13非缓冲文件系统
14非缓冲文件系统是借助文件结构体指针来对文件进行管理,通过文件指针来对文件进行访问,既可以读写字符、
15字符串、格式化数据,也可以读写二进制数 据。非缓冲文件系统依赖于操作系统,通过操作系统的功能对
16文件进行读写,是系统级的输入输出,它不设文件结构体指针,只能读写二进制文件,但效率高、速度快,
17由于ANSI标准不再包括非缓冲文件系统,因此建议大家最好不要选择它。
18 
19open等属于低级IO,
20fopen等是高级IO。
21 
22open等返回一个文件描述符(用户程序区的),
23fopen等返回一个文件指针。
24 
25open等无缓冲,fopen等有缓冲。
26 
27fopen等是在open等的基础上扩充而来的,在大多数情况下,用fopen等。
28 
29open 是系统调用 返回的是文件句柄,文件的句柄是文件在文件描述符表里的索引,
30fopen是C的库函数,返回的是一个指向文件结构的指针。