#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
#define N 100001
int main(){
DIR *dir; //ディレクトリポインタ
struct dirent *dp; //dirent構造体
char path[256] = "./source"; //指定ファイルへのパス
char *file_name[N];
char file_content[N];
int cnt = 0,j=0;
FILE *fp;
dir = opendir(path); //指定パスのディレクトリopen
// ディレクトリ読み込み
for(dp=readdir(dir);dp!=NULL;dp=readdir(dir)){ //ディレクトリ内に要素が無くなると、nullが返る
file_name[cnt] = dp->d_name;
cnt++;
}
for(int i=2; i<=cnt; i++){ //ディレクトリ読み込み時,"."と".."も読み込まれているのでi=2から始める
fp = fopen(file_name,"r");
while(fgets(file_content,64,fp) != NULL){
printf("%s",file_content);
}
fclose(fp);
}
closedir(dir);
return 0;
}
ディレクトリの読み込みから、ファイル名の取得までは正常に動作していますが、ファイル操作(fopen,fgets等)で segmentation fault が出てしまいます。何か解決策もしくはcではこの操作はできない等あれば回答お願いします。