使用bash,我可以找到jpg,mp4等文件的特定扩展计数。如何使用C语言系统调用实现此目的?使用C语言系统调用实现此目的的任何帮助吗?
{{1}}
答案 0 :(得分:1)
像这样使用popen。
#include <stdio.h>
int main(void){
FILE *fp = popen("ls -lR /path/to/dir/*.jpg | wc -l", "r");
int count;
fscanf(fp, "%d", &count);
pclose(fp);
printf("%d\n", count);
return 0;
}
答案 1 :(得分:1)
我为一般用途编码。您可以自己操作d_name。
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
if (argc != 2)
/* redo input */
if ((dp = opendir(argv[1])) == NULL)
/* error opening dir */
printf("%8s %8s %8s %8s %8s\n",
"d_name", "d_fileno",
"d_reclen", "d_type",
"d_namlen");
while ((dirp = readdir(dp)) != NULL)
printf("%8s %8d %8d %8d %8d\n",
dirp->d_name, dirp->d_fileno,
dirp->d_reclen, dirp->d_type,
dirp->d_namlen);
closedir(dp);
return 0;
}
答案 2 :(得分:0)
http://code.jquery.com/ui/显示了如何使用readdir()
功能。您应该能够轻松地修改它以执行您想要的操作。