linux 函数 readddir 获取文件目录 出现段错误 不知如何解决
1#include<stdio.h>2#include<stdlib.h>3#include<dirent.h>//需要该头文件'45intmain(){6DIR*dir...
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <dirent.h>//需要该头文件'
4
5 int main(){
6 DIR* dir=opendir("../day03");
7 if(dir == NULL )perror("opendir"),exit(-1);
8 struct dirent* ent=readdir(dir);//先读一次
9 while(dir){
10 // printf("%d,%s\n",ent->d_type,ent->d_name);
11 // printf("%d,%s\n",ent[0].d_type,ent[0].d_name);//ent[0]==*(ent+0)
12 printf("%d,%s\n",(*ent).d_type,(*ent).d_name);
13 ent = readdir(dir);//继续读
14 }//d_type==4 是目录,不等于4 是文件
15 return 0;
16 }
执行显示
8,mem.c
8,.mem.c.swp
8,a.out
8,env.c
4,.
4,..
段错误 (核心已转储)
不知道错在哪里 展开
2 #include <stdlib.h>
3 #include <dirent.h>//需要该头文件'
4
5 int main(){
6 DIR* dir=opendir("../day03");
7 if(dir == NULL )perror("opendir"),exit(-1);
8 struct dirent* ent=readdir(dir);//先读一次
9 while(dir){
10 // printf("%d,%s\n",ent->d_type,ent->d_name);
11 // printf("%d,%s\n",ent[0].d_type,ent[0].d_name);//ent[0]==*(ent+0)
12 printf("%d,%s\n",(*ent).d_type,(*ent).d_name);
13 ent = readdir(dir);//继续读
14 }//d_type==4 是目录,不等于4 是文件
15 return 0;
16 }
执行显示
8,mem.c
8,.mem.c.swp
8,a.out
8,env.c
4,.
4,..
段错误 (核心已转储)
不知道错在哪里 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询