open函数的返回值可能是0,1,2这三个中的任意一个吗?
来源:互联网 发布:mysql 连接指定数据库 编辑:程序博客网 时间:2024/06/05 16:10
今天纠结dup的时候,无意间发现,open的返回值让我有点不敢相信,百思不得其解。
因为我不敢相信“返回值是0”,STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO,分别对应的是0,1,2这三个file descriptor
问题出在下面这行代码上面
if(file_descriptor = open("./text.t",O_RDWR) < 0){printf("open error\nProcess end\n");return 0;}
我一直觉得open的返回值最小是3,但是自己写的代码出来的结果却是0,纳闷啊。。。
打印的结果是:
file descriptor is 0
dup2 return value:4
dup return value 4
dup2 return value:5
dup return value 5
dup2 return value:6
dup return value 6
教训是没事别少写括号。。。没有必要去纠结这种优先级的问题,保持良好的习惯,写括号,OK
if((file_descriptor = open("./text.t",O_RDWR)) < 0){printf("open error\nProcess end\n");return 0;}这样就OK了
file descriptor is 3
dup2 return value:4
dup return value 4
dup2 return value:5
dup return value 5
dup2 return value:6
dup return value 6
经过这次小纠结,有一点共识得到强化,open的返回值不可能是0,1,2,这三个file descriptor是一直被打开的(除非在某个进程内被暂时关闭)。
0 0
- open函数的返回值可能是0,1,2这三个中的任意一个吗?
- 15、一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。
- 一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。
- 一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现......
- 又是一道随机问题,问题是说:写一个函数返回0,1,2,3这几个数字中的一个数,其中0概率是10%,1是20%,2是30%,3是40%
- 一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1
- 函数功能:传入一个数组,返回数组中第二大数。已知数组中的对象都是数字构成的字符串,且任意两元素不相等。 如传入:@[@"1",@"2",@"3",@"4"],返回@"3"
- 关于函数的返回值是一个接口类型的对象
- 12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。 请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
- SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY
- SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY
- 六:函数返回值是一个引用
- 第四次实验 编写函数computNum( int num),它的功能是计算任意输入的一个正整数的各位数字之和,结果由函数返回
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 写一个函数,参数是三个数,返回较大两个之和
- open函数返回值为0
- Linux字符设备驱动模版
- DFS——找朋友
- Effecive C++ 解析3
- Android开发/源码资源汇总
- c++ 容器用法总结 转载。
- open函数的返回值可能是0,1,2这三个中的任意一个吗?
- GitHub开源项目总结
- Community detection (2)
- android inflater 用法
- 关于Linux静态库和动态库的分析
- 可重入和不可重入
- 用MyEclipse搭建SSH框架 Struts Spring Hibernate
- 四
- Java 7之多线程并发容器 - LinkedBlockingQueue