Loose-Info.com

Last Update 2019/12/24


TOP - C言語 - dirent.h - rewinddir()

※ この関数のコード例・結果に関してはOS X v10.6でのみ検証しています。
その他の環境下では、実行不能な場合も確認されています。

引数のポインタによって参照されるディレクトリストリームの現在位置を開始位置に戻します。

rewinddir(  引数1  )

引数1
DIR *
ディレクトリストリームへのポインタ

(例)
#include <stdio.h> #include <sys/stat.h> #include <dirent.h> int main() { FILE *fp; struct dirent *dirst; mkdir("test_dir_01", 0777); fp = fopen("test_dir_01/test_file_01.txt", "w"); fclose(fp); fp = fopen("test_dir_01/test_file_02.txt", "w"); fclose(fp); fp = fopen("test_dir_01/test_file_03.txt", "w"); fclose(fp); DIR *dp = opendir("test_dir_01"); while((dirst = readdir(dp)) != NULL) { printf("ディレクトリ名 : [%s]\n", dirst->d_name); printf("telldir結果 : [%ld]\n", telldir(dp)); } rewinddir(dp); dirst = readdir(dp); printf("\nディレクトリ名 : [%s]\n", dirst->d_name); printf("telldir結果 : [%ld]\n", telldir(dp)); closedir(dp); remove("test_dir_01/test_file_01.txt"); remove("test_dir_01/test_file_02.txt"); remove("test_dir_01/test_file_03.txt"); remove("test_dir_01"); return 0; }

実行結果
ディレクトリ名 : [.] telldir結果 : [1] ディレクトリ名 : [..] telldir結果 : [2] ディレクトリ名 : [test_file_01.txt] telldir結果 : [3] ディレクトリ名 : [test_file_02.txt] telldir結果 : [4] ディレクトリ名 : [test_file_03.txt] telldir結果 : [5] ディレクトリ名 : [.] telldir結果 : [1]