【发布时间】:2012-04-01 14:58:09
【问题描述】:
我在使用opendir() 时收到了一些奇怪的结果:
int dtw(char *path) {
struct stat statbuf;
...
else if (S_ISDIR(statbuf.st_mode)) {
printf("Path is: %s\n", path);
struct dirent *dirent;
DIR *dirp;
if ((dirp = opendir(path)) == NULL) {
puts("Can't open directory.");
return -1;
}
printf("Path is: %s\n", path);
}
...
}
结果:
Path is: /home/.../etc
Path is:
这里唯一会影响path 的是opendir()。它有我没有看到的副作用吗?还是有其他事情在起作用?
【问题讨论】:
-
你是如何声明和初始化
path的? -
path从命令行解析,最终从main()传入相关函数。已编辑问题以反映这一点。
标签: c directory-structure opendir