免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3505 | 回复: 3

关于设备文件open和fopen [复制链接]

论坛徽章:
0
发表于 2009-09-08 12:29 |显示全部楼层
为甚么用fopen打开创建的字符设备文件如/dev/mychar,对其操作出现段错误的提示,而用open就没有问题?

那位大侠解释下!!!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2009-09-08 19:19 |显示全部楼层

回复 #1 shucl 的帖子

看一下fopen和open调用的特点和使用方法。

论坛徽章:
0
发表于 2009-09-08 22:46 |显示全部楼层
这个问题挺有意思的。
我其实都不知道fopen和open到底有什么区别。感觉都是打开文件

论坛徽章:
0
发表于 2009-09-08 22:49 |显示全部楼层
搜了一下:
刚好我在<C专家编程》看到了这个问题,  
  主要是涉及到系统。  
  区别不是缓冲,  
  带f的是标准IO,代码可以移植,不带f只能在UNIX/LINUX系统调用。  
  一个是整数,一个是指针。  
  具体可以参考《C专家编程》的附录。


  1,fread是带缓冲的,read不带缓冲.  
  2,fopen是标准c里定义的,open是POSIX中定义的.  
  3,fread可以读一个结构.read在linux/unix中读二进制与普通文件没有区别.  
  4,fopen不能指定要创建文件的权限.open可以指定权限.  
  5,fopen返回指针,open返回文件描述符(整数).  
  6,linux/unix中任何设备都是文件,都可以用open   ,read.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP