2017-07-31 38 views
0

为什么readdir例程需要struct direct? p 184 K&R 由于什么原因我们需要struct direct,不能只使用struct Dirent? 的dirent的定义:p 180 K&R 直接定义:p.183 K&Rreaddir例程本地目录vs便携式dirctory(p.184 K&R)

+2

我的'readdir()'返回'struct dirent *'。我不明白你的问题...... –

+0

问题是为什么我们需要struct direct – Victor

+1

“*为什么readdir例程返回的是直接的而不是Dirent?*”K&R的'readdir()'* does *返回一个指向'Dirent '。它不会*返回一个'struct direct'。这从您链接的第一个屏幕截图中很明显。你在说什么? (也见这里:https://stackoverflow.com/questions/11063717/kr-chapter-8-readdir-function) – alk

回答

2

因为ķ& RC是从70年代(是好老时间......),并以K & RC标准库没有包含的事情像readdir而不是struct dirent,因此程序员必须直接使用read来处理目录并使用低级别struct direct

告诉你的代码只是如何来包装低级IO在一个较高的水平readdir功能相关的例子 - 如果我正确读取它既不确认当期readdir功能,也不是当前dirent结构...

所以要小心:我在80年代早期喜欢K & R,但只使用ANSI C和后来的ISO C超过30年。也许你应该试着找一本稍微更新的书来学习C ...