首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

课本上的一道题目,该怎么解决

2012-03-17 
课本上的一道题目C/C++ code...../* dirname *++argv*/fd open(dirname, O_RDONLY, 0).....struct dir

课本上的一道题目

C/C++ code
...../* dirname = *++argv*/fd = open(dirname, O_RDONLY, 0).....struct direct {    ino_t     d_ino;    char     d_name[DIRSIZ];};.....struct direct dirbuf;.....while (read(dp->fd, (char *) &dirbuf, sizeof(dirbuf)) == sizeof(dirbuf)).....

这是《The C programming Language》8-6的一段代码
按照作者的思想是当输入为目录时read读取每个目录项,并储存
但是当输入的是目录时read输出的都是 -1

希望指点下 是哪里出现错误了

[解决办法]
On error, -1 is returned, and errno is set appropriately.
In this case it is left unspecified whether the file position (if any) changes.
可以用strerror(errno)查看哪儿出了问题
[解决办法]
C/C++ code
/* dirname = *++argv*/
[解决办法]
貌似read不能读目录的

[解决办法]
探讨
可是作者是这么做的呀 说是UNIX上的实例
难道是因为不是UNIX的缘故,
我用的是LINUX和UNIX的文件构造应该是一样的

热点排行