看谁能找出bug★☆open函数总是返回-1
2017-04-06 21:22
274 查看
总于明白基础有多重要,今天被一个open函数把我整死
平时open完之后直接就不管了,一般也不会出现打不开的情况
今天被这个坏习惯打了一巴掌
看谁能找出bug,真的是很基础的东西
错误代码:
第一次运行没错,再次运行就一直出错,总以为是write的问题
正确代码:
如果看出来了说明你基础还是很好的,还没看出来的说明和我一样水。O(∩_∩)O哈哈~
解析:如果open函数中有O_CREAT这个参数,那么需要给出open的第三个参数。不然你就只能往这个文件写一次数据,第二次再写你就没权限了
平时open完之后直接就不管了,一般也不会出现打不开的情况
今天被这个坏习惯打了一巴掌
看谁能找出bug,真的是很基础的东西
错误代码:
int main() { int fd; char buf[10] = "dong1"; fd1 = open("/home/dong/temp", O_RDWR | O_CREAT); int s = write(fd,buf,sizeof(buf)); close(fd); return 0; }
第一次运行没错,再次运行就一直出错,总以为是write的问题
正确代码:
int main() { int fd; char buf[10] = "dong1"; fd1 = open("/home/dong/temp", O_RDWR | O_CREAT,S_IRWXU); int s = write(fd,buf,sizeof(buf)); close(fd); return 0; }
如果看出来了说明你基础还是很好的,还没看出来的说明和我一样水。O(∩_∩)O哈哈~
解析:如果open函数中有O_CREAT这个参数,那么需要给出open的第三个参数。不然你就只能往这个文件写一次数据,第二次再写你就没权限了
相关文章推荐
- bug?VS2010中CImageList::DrawIndirect总是返回失败
- Delphi Screen.DataModuleCount 总是返回 0!Delphi 的 Bug? DataModuleCount = 0
- Java多线程-为什么Thread.isInterrupted()总是返回false?
- GUI_MEMDEV_Create总是返回0的原因
- Beego生产环境返回状态码的bug
- 用fork创建进程时,在子进程中 使用getppid 得到的返回值为啥总是1
- mybatis 使用oracle查询返回结果总是null
- ios点击推送信息跳转Controller之后返回首页controller tabbar 不隐藏的bug
- ibatis中sqlmapExecutor.executeBatch()怎么返回成功的记录数为什么总是返回0 求大神
- effective stl 第21条:总是让比较函数在等值情况下返回false
- 用ajax返回验证的时候总是弹出error原因
- getDate()返回日期不一致问题引发的bug
- 解决ajax返回验证的时候总是弹出error错误的方法
- Bug记录:微博的Java SDK返回经纬度错误
- Eclipse RCP程序换图标BUG,总是换不掉?
- 我以前总是错误地以为---“阻塞socket和非阻塞socket对应的connect函数都会立即返回”
- TreeView单击事件的BUG修复及深入探讨返回事件
- 通过代码review,找出bug衍生出的错误逻辑
- XUtils框架中HttpUtils使用Get请求时总是返回相同信息的问题解决
- Swift开启StatsD后出现上传数据出现返回503的Bug