我刚刚开始在Unix环境中阅读高级编程。第一个例子是ls实现,代码如下。我唯一不明白的是DIR定义在哪里。我查看了apue.h(不在那里)和dirent.h(不在那里)。谁能告诉我它的定义?
#include "apue.h"
#include <dirent.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
if (argc != 2)
err_quit("usage: ls directory_name");
if ((dp = opendir(argv[1])) == NULL)
err_sys("can't open %s", argv[1]);
while ((dirp = readdir(dp)) != NULL)
printf("%s\n", dirp->d_name);
closedir(dp);
exit(0);
答案 0 :(得分:1)
DIR
是opaque data type,您应该将其视为一个,这意味着当您只想使用它时,请不要查看其定义。
此DIR
附带opendir()
,如果您想知道如何使用它们,只需在终端上运行man opendir
,opendir()
的手册就会告诉您< / p>
等等。