Last Update 2012/07/05
※ この関数のコード例・結果に関してはOS X v10.6でのみ検証しています。
その他の環境下では、実行不能な場合も確認されています。
その他の環境下では、実行不能な場合も確認されています。
引数のポインタによって参照されるディレクトリストリームの現在位置を指定位置にセットします。
seekdir( 引数1 , 引数2 )
引数1 :
DIR *
ディレクトリストリームへのポインタ
引数2 :
long
ディレクトリストリームの指定位置
(例)
#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));
}
seekdir(dp, 3);
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]
ディレクトリ名 : [test_file_02.txt]
telldir結果 : [4]