如何使用访问方法进行文件扩展?

时间:2015-05-08 14:50:26

标签: c file

我使用访问权来理解文件是否存在。

char file[100];
strcpy(file, "/home/asd/test.txt");
if(access(file, F_OK) >= 0)
{
    printf("file is exist \n");
}
else
{
    printf("file is not exist \n");
}

我试着理解是否有任何带有txt扩展名的文件,所以我想将此代码用于文件扩展名而不是文件名。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

我使用glob将最小的解决方案放在一起,它可以作为正确代码的基础。它缺乏正确的错误处理,但您可以通过this one等示例来解决这个问题。

#include <stdio.h>
#include <glob.h>

int main() {
    glob_t results;
    int r = glob("/tmp/*.txt", 0, 0, &results);
    if (r == 0) {
        fprintf(stdout, "text files found");
    } else if (r == GLOB_NOMATCH) {
        fprintf(stdout, "No files found");
    } else {
        fprintf(stdout, "glob error");
    }

    return 0;
}