1.标准IO指的就是对文件通过C语言提供的文件操作函数进行操作的一系列函数(API)。
2.Linux下的文件包括:
常规文件: r
目录文件: d
字符设备文件:c
块设备文件:b
管道文件:p
套接字文件:s
符号链接文件:l
3.标准IO的所有操作都是围绕着一个名为FILE(流)的结构体来实现的。
4.标准IO的缓冲类型:全缓冲,行缓冲和无缓冲。
当对文件进行输入输出时,是全缓冲。
当对终端进行输入输出时,是行缓冲。
当对错误进行输出时,是无缓冲。
拓展:系统调用的概念:
对于单片机的操作则是直接裸机操作,程序操作硬件,通过OS调用则是系统调用。
5.打开流:FILE *fopen (const char *path, const char *mode);成功时返回流指针;出错时返回NULL。
6.这是fopen的mode的几个模式,非常重要。
7.用fopen创建的文件在linux下访问权限是0666(rw-rw-rw),然而其权限必须与umask进行运算,才是真正的访问权限。
8.关闭流操作:int fclose(FILE *stream); fclose()调用成功返回0,失败返回EOF,并设置errno。
9.处理错误信息的函数:void perror(const char *s);
if ((fp = fopen(“test.txt”, “r+”)) == NULL) { perror(“fopen”); return -1; }
其他几个自己暂时不太用,先不记录了。
10.程序打开流的上限是1021+3个C语言的stdin,stdout,stderr。