使用bash,我可以發現計算像jpg,mp4等文件的特定擴展的計數。如何使用C語言系統調用來實現此目的?任何幫助使用C語言系統調用來實現此目的?使用系統調用使用C語言查找具有特定擴展名的文件的計數
ls -lR /path/to/dir/*.jpg | wc -l
使用bash,我可以發現計算像jpg,mp4等文件的特定擴展的計數。如何使用C語言系統調用來實現此目的?任何幫助使用C語言系統調用來實現此目的?使用系統調用使用C語言查找具有特定擴展名的文件的計數
ls -lR /path/to/dir/*.jpg | wc -l
Here is an example展示瞭如何使用readdir()
功能。你應該可以很容易地修改它來做你想做的事。
這是否包括這個人試圖避免學習某些東西的可能性,還*通過考試? – usr2564301
那麼,我給這個人一個例子,他們將不得不修改,以做他們需要的東西。所以他們必須學習或理解代碼的功能。 – Chimera
@RadLexus:是的,就像Chimara說的,我給出的代碼只是指導原則。他必須修改我的代碼才能完成他的工作。 –
我一般使用的代碼。你可以自己操作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;
}
「C語言系統調用」是什麼意思? – EOF
我的意思是用任何可用的系統庫函數使用C語言來實現這一點。使用bash或任何正則表達式可能,但我想用C語言解決 –
[C:運行系統命令並獲取輸出?](http://stackoverflow.com/questions/646241/c-run-a-system -command-and-get-output) –