unix下错误大多数返回负整数或者错误码,0是错误码.
1.每个文件被打开时都会返回一个文件描述符
2.unix中标准输入 输出 错误码 文件描述符分别为 0 1 2,POSIX.1中被替换成常数 STDIN_FILENO,STDOUT_FILENO,STRERR_FILENO(在unistd.h文件中)
3.Open函数使用(不必记住,多写,多练,就记住了,不明白查手册,参数太多)
4.NAME_MAX=14,文件名如果超过这个值,会自动截短,不过BSD系统会报错(ENAMETOOLONG),不仅仅是文件目录的问题,调用函数时候也会出问题
5.create(pathname,mode)函数创建一个新文件,成功返回fd,失败-1,也可以用open创建,该函数是以只写方式创建一个文件.
6.close(int fd)函数关闭一个文件,不过在进程结束后会自动关闭,不过要有习惯的写上去,不然会出大问题(nonblock).
7.lseek函数 只修改偏移量,不进行I/O操作
(每个进程都共享同一个V节点)
关于原子操作:
说白了就是每次进行文件write操作之前把偏移量指向尾端......自动的,之前貌似要手动lseek
(Ps:原子操作不止这一种)
关于dup和dup2:
Fcntl 用于修改文件标志值