C함수 디렉토리 읽기 위치를 처음으로 돌리기 rewinddir()
opendir() 호출 후에 readdir()을 호출하면, 호출될 때마다 다음 파일 정보를 구하게 됩니다. 다시 처음으로 돌리려면 rewinddir()를 호출합니다.
- 헤더: dirent.h
- 형태: void rewinddir( DIR *dir)
- 인수: DIR *dir opendir()에서 열기한 디렉토리 정보
- 반환: -
C언어 rewinddir() 함수 예제
샘플이 들어 있는 디렉토리에 어떤 파일과 디렉토리가 있는지 검색해서 2번 출력해 보겠습니다.
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
int main()
{
DIR *dir_info;
struct dirent *dir_entry;
mkdir( "test_A" , 0755); // 실행 파일이 있는 곳에 생성
mkdir( "test_B" , 0755); // 실행 파일이 있는 곳에 생성
dir_info = opendir( "."); // 현재 디렉토리를 열기
if ( NULL != dir_info)
{
while( dir_entry = readdir( dir_info)) // 디렉토리 안에 있는 모든 파일과 디렉토리 출력
{
printf( "%s\n", dir_entry->d_name);
}
rewinddir( dir_info); // 디렉토리 읽기 위치를 처음으로 이동
while( dir_entry = readdir( dir_info)) // 디렉토리 안에 있는 모든 파일과 디렉토리 출력
{
printf( "%s\n", dir_entry->d_name);
}
closedir( dir_info);
}
}
C언어 rewinddir() 예제 실행 결과
]$ ./a.out
test.c
..
.
test_B
test_A
a.out
test.c
..
.
test_B
test_A
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 링크 생성 함수 link() (0) | 2020.03.15 |
---|---|
C언어 디렉토리 안에 있는 항목 구하기 함수 readdir() (0) | 2020.03.15 |
C언어 디렉토리 닫기 closedir() (0) | 2020.03.15 |