开发者社区> 问答> 正文

关于linux下open函数的问题

我写一个socket传送文件程序,我先定义了一个char型buffer【100】,然后fgets(buffer,100,stdin),最后open(buffer,O_RDONLY),输入的是/mnt/hgfs/sky/a.txt,运行时,open失败,但是我直接把buffer换成"/mnt/hgfs/sky/a.txt",就打开成功了,请问第一个参数能照我这样给吗?

展开
收起
a123456678 2016-06-12 15:24:03 1981 0
1 条回答
写回答
取消 提交回答
  • fgets() 会把行尾的 'n' 也读入,也就是说你用 fgets(buffer,100,stdin) 读入的很可能是"/mnt/hgfs/sky/a.txtn0" , 你可以打印出字符串所有内容确认一下是否因为这个原因导致 open() 调用失败的。

    2019-07-17 19:34:12
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载