linux 下c语言利用readdir获取文件夹目录错误提示:segmentation fault~求达人看程序给解~

#include<stdio.h>
#include<dirent.h>
int main()
{
DIR *dirpt=NULL;
struct dirent *entry=NULL;
printf("test\n");
dirpt=opendir("/home/mrhuang/Desktop/mrhuang/recieved");
printf("test\n");
if(dirpt==NULL)
{
printf("open dir error!\n");
return 1;
}
else
{
printf("test\n");
while(entry=readdir(dirpt));
{
printf("test\n");
printf("%g\n",entry);
printf("%s\n",entry->d_name);
printf("test1\n");
}
closedir(dirpt);
}
return 0;
}

不说你了。
while(entry=readdir(dirpt));

这行后面有个分号发现没,给我去掉。
这行就是个空语句。
占位用的。可以这么理解
while(entry=readdir(dirpt))
这里啥都不干;

下面那一行的entry 就成 NULL了,他没有d_name,所以段错误
温馨提示:内容为网友见解,仅供参考
无其他回答

Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答