#include <stdio.h>
#include <string.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
int main()
{
char filename[4];
DIR *dir_info;
struct dirent *dir_entry;
dir_info = opendir("./example");
if(NULL != dir_info)
{
int i=0;
while(dir_entry = readdir(dir_info))
{
//printf("%s\n", dir_entry->d_name);
filename[i] = dir_entry->d_name;
}
closedir(dir_info);
}
for(int i=0; i<4; i++)
{
printf("%c\n", filename[i]);
}
}
이 코드인데 filename 배열에 디렉토리 ./example 안에 있는 파일명을 넣고 싶은데 동작이 되긴 하는데 원하는 출력이 안나옵니다.
while코드 위에 주석으로 달린 것만 하고 printf("%c\n", filename[i]);를 지우면 디렉토리 내의 파일명이 잘 출력이 되긴 합니다만 그 파일을 배열에 넣고 싶은데 안될까요? 확장자를 검사하고 싶은데 어떻게 해야할지 모르겟습니다.
어.. 무슨 말인지 잘 이해가 안 되는데 좀 더 자세히 설명해주실 수 있으실까요 - dc App
일단 배열에 대한 이해가 조금 부족하신 것 같아 보이는데.. f[i]에는 1글자만 들어가요 - dc App
답변 감사합니다 제가 코드를 짜는 이유가 디렉토리 안에 있는 파일의 확장자를 검사하고 그 확장자인 파일을 변수에 저장하고 싶은 거거든요 그렇게 하려면 어떻게 해야 할까요?
와일문으로 돌리면서 구조체 배열 안에 확장자랑 이름이랑 넣으면 될 거 같은데 구조체 공부를 해보시길 바라요 - dc App