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

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

戻り値1 = telldir(引数1)

戻り値1 : long
          実行が成功した場合   : ディレクトリストリームの現在位置
引数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));
    }

    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]


Copyright(C) 2006-2018 CLAYPOT. All Rights Reserved.