0

私はこの機能に問題があります:

dirp = opendir(ruta);

    if (dirp != NULL){   
        while ((direntp=readdir(dirp)) != NULL) {       
            stat(ruta, &estructura);

私の英語で申し訳ありません...あなたが私を理解できることを願っています

-------------------------------------------------- -----------------------------------

ありがとう、機能は完璧に動作します!

私はこれのために私のコードを変更しました:

while ((direntp=readdir(dirp)) != NULL) {       
                sprintf( cwd, "%s/%s", ruta, direntp->d_name );
                    stat(cwd, &estructura );

ご協力ありがとうございます。ここに書いて申し訳ありませんが、7 時間以内にコメントを書くことはできません。ありがとう!!!!!!!

ありがとうございました

4

2 に答える 2

2

statこれは、渡すディレクトリの情報を取得するためですopendir

そのディレクトリをベースとして使用し、から取得したファイル名を追加する必要がありますreaddir

于 2013-10-18T10:34:11.273 に答える
1

stat常にディレクトリ自体を呼び出します。

これ ...:

while ((direntp=readdir(dirp)) != NULL) {       
    stat(ruta, &estructura);
    ...
}

...次のようになります。

while ((direntp=readdir(dirp)) != NULL) {       
    char pathname[1024];
    sprintf( pathname, "%s/%s", ruta, direntp->d_name );
    stat( pathname, &estructura );

    ...
}
于 2013-10-18T10:34:20.470 に答える