我想获取给定目录中仅为*.txt文件的名称,类似于以下内容:
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <dirent.h>
int main(int argc, char **argv)
{
char *dirFilename = "dir";
DIR *directory = NULL;
directory = opendir (dirFilename);
if(directory == NULL)
return -1;
struct dirent *ent;
while ((ent = readdir (directory)) != NULL)
{
if(ent->d_name.extension == "txt")
printf ("%s\n", ent->d_name);
}
if(closedir(directory) < 0)
return -1;
return 0;
}
我该如何在纯Unix C中实现此操作?
memcmp
的最后一个参数。另外,stricmp
不是标准(C或POSIX)函数,而strcasecmp
是(POSIX)。但是因为建议使用stat
,所以加一分。 - Fred Foo