현재 폴더에서 텍스 파일에 대해서만 처리하고 싶은 일이 있을 수가 있다.
opendir 함수를 써서 코딩하는 방법도 있지만, 여기서는 그냥 C 언어에서 지원하는 system 명령어의 기능을 이용하여
command line 상에 명령을 입력하여 file list를 만들고, 그 파일 리스트를 읽어서 그 하나하나에 대해서
프로그램하는 것으로 하였다. 여기서는 그일을 텍스트 파일의 이름을 출력하는 것으로 단순화 했다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( ) { char buf[256]; char cmd[256]; FILE *fp;
char fSpec[] = "*.txt";
char fNmae[] = "__fileList__";
cmd[0]='\0'; sprintf(cmd, "dir/b %s > %s",fSpec, fNmae); system(cmd);
fp = fopen("__fileList__", "r");
while( fgets( buf, sizeof(buf), fp ) != NULL ) {
buf[ strcspn(buf, "\n") ] = '\0';
puts(buf); // <-- 이 부분을 다른 일을 함수로 사용자가 변경할 수 있다.
}
fclose(fp);
cmd[0]='\0'; sprintf(cmd, "del %s", fNmae); system(cmd);
return 0;
}
실행 결과는 아래와 같다.

'C 언어' 카테고리의 다른 글
| 텍스트 파일의 단어를 세는 프로그램 (C 언어 사용) (0) | 2020.12.31 |
|---|---|
| C 언어로 방정식의 해를 구하기 (Bisection method) (0) | 2020.12.31 |
| C언어를 이용하여 무작위로 사람 이름 만들기 (0) | 2020.12.18 |
| C 언어 Rand 함수를 이용해서 무작위 암호 만들기 (0) | 2020.12.16 |
| C 언어에서 한 줄 읽어 들이기 (0) | 2020.12.14 |
댓글