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;
}
最新回答
心素如简

2024-09-05 02:10:19

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

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

下面那一行的entry 就成 NULL了,他没有d_name,所以段错误