\0 也是字符,只不外不可显,在被写入到文件后,vim 编辑器会把它识别成 ^@,对 Hello Linux 来说,^@ 就是多余的无用字符。我们不希望它在文件中出现。 2.3 三个尺度输入输出流
C步伐在启动时候,默认会打开三个尺度流文件:
stdin:尺度输入流——键盘文件
stdout:尺度输出流——显示器文件
stderr:尺度错误流——显示器文件
三、文件有关的系统调用
文件最初是在磁盘上的,磁盘是外部装备,访问磁盘文件其实是访问硬件,在计算机层状结构中,硬件是处于最底层的,操纵系统帮我们把这些硬件管理起来,并且操纵系统是不相信用户的,因此操纵系统不允许我们直接去访问硬件,而是给我们提供了系统调用接口,几乎所有的库只要是访问硬件装备,必定要封装系统调用。也就是说我们平常在C语言里面利用的 fopen、printf、fprintf、fscanf等函数都肯定是封装了系统调用。 3.1 open
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);