|
읽어들인 파일명을 배열로 저장하려고 합니다.
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#define MAX 20
void main(void)
{
struct ffblk ffblk;
int done;
int i, j;
char name[3];
int n = 0;
char *sortn[MAX];
printf("디렉토리에 있는 *.bmp 형식의 리스트.\n");
done = findfirst("data\\img\\*.bmp", &ffblk, 0);
while (!done){
for (i = 0, j = 0; i < strlen(ffblk.ff_name); i++){
if (ffblk.ff_name[i] == '.'){
name[j] = '\0';
break;
}
else {
name[j] = ffblk.ff_name[i];
j++;
}
}
sortn[n] = name; //----┐
n++; // |-이부분
printf(" %s\n", sortn[0]); //-----┘
done = findnext(&ffblk);
}
}
sortn[n] = name; 이부분에서 배열로 저장해야하는데
printf(" %s\n", sortn[0]); <-- 이렇게 해보면 첫번째 배열값(파일명)만 계속 출력되야하는데 디렉토리에 있는 파일들 전부 출력됩니다. 즉, 배열에 순서대로 들어가지 않고 파일명이 모두 sortn[0]배열에만 입력되는것 같습니다.
어디가 잘못된것이고 어떻게 고쳐야 하는지요..
|