当前位置: 技术问答>linux和unix
linux下opendir和scandir函数为什么只能打开当前目录呢?
来源: 互联网 发布时间:2016-05-07
本文导语: 如题,我在linux下编写了一个简单的程序: int main(int argc, char*argv[]) { DIR *p; if((p=opendir(argv[1]))==NULL) { printf("errorn"); return 0; } else printf("open okn"); close(p); ret...
如题,我在linux下编写了一个简单的程序:
int main(int argc, char*argv[])
{
DIR *p;
if((p=opendir(argv[1]))==NULL)
{
printf("errorn");
return 0;
}
else printf("open okn");
close(p);
return 1;
}
如果我输入当前目录,比如说~/Desktop/则没问题,但是如果输入~/etc/就不行了,为什么呢?
int main(int argc, char*argv[])
{
DIR *p;
if((p=opendir(argv[1]))==NULL)
{
printf("errorn");
return 0;
}
else printf("open okn");
close(p);
return 1;
}
如果我输入当前目录,比如说~/Desktop/则没问题,但是如果输入~/etc/就不行了,为什么呢?
|
很有可能是~/etc目录不存在的问题。
~表示当前登录用户的home目录
~表示当前登录用户的home目录
|
~/etc 不存在吧