最近在看unix环境高级编程……有两个地方不懂,百度了一圈也没找到满意答案!望大家不吝赐教!
文件描述符标志 文件状态标志
这两个名词是什么意思啊?请大家详细解释,最好配上例子,谢谢了!
------解决方案--------------------
文件描述符标志设置见 int fcntl(int fd , int cmd,...);
文件状态标志的设置见 void set_fl(int fd, int flags); void clr_fl(int fd, int flags);
------解决方案--------------------
书中的例子:对于指定的描述符打印文件标志 :是对文件描述符(文件描述符0与进程的标准输入相关联,文件描述符1与标准输出相关联,文件描述符2与标准出错相关联………………)的文件标志即他的类似权限的东西。0只能用它进行输入从中读取内容,1可以写也可以追加
ming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 0 <data
read only
ming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 1 >data
ming@ming-ThinkPad-Edge:~/src/chapter3$ cat data
write only
ming@ming-ThinkPad-Edge:~/src/chapter3$ :>data
ming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 1 >>data
ming@ming-ThinkPad-Edge:~/src/chapter3$ cat data
write only, append
ming@ming-ThinkPad-Edge:~/src/chapter3$ :>data
ming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 2 2>data
write only
ming@ming-ThinkPad-Edge:~/src/chapter3$ cat data
ming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 2 2>>data
write only, append
以上纯属个人观点.PS:本人水平不高,正在看此书,如有错误请见谅