-2
임 프로그램에 입력 된 파일의 유형을 계산하려고합니다. 따라서 echo.c의 C 소스를 입력하면 echo.h는 Header가됩니다. 그러나 디렉토리를 입력하면 echo/root
과 같이 directory
유형으로 계산되어야하지만 지금은 exe
유형으로 계산됩니다. 필자는 stat()
을 사용하여 argv
이 디렉토리인지 확인하는 방법을 알아 내려고 노력했습니다.stat()를 사용하여 명령 줄 인수가 디렉토리인지 확인하는 방법?
는 Heres는 지금까지 무엇을 :
#include <sys/stat.h>
int main(int argc, char* argv[]){
int cCount = 0;
int cHeadCount = 0;
int dirCount = 0;
for(int i = 1; i < argc; i++){
FILE *fi = fopen(argv[i], "r");
if(!fi){
fprintf(stderr,"File not found: %s", argv[i]);
}
else{
struct stat directory;
//if .c extension > cCount++
//else if .h extension > cHeadCount++
else if(stat(argv[i], &directory) == 0){
if(directory.st_mode & S_IFDIR){
dirCount++;
}
}
}
//print values, exit
}
}
당신이 지금까지 가지고있는 것을 보여주세요 – JackVanier
'man 2 stat'에서 당신에게 불분명 한 점은 무엇입니까? – Evert
'man 2 stat'을 읽으셨습니까? – dlmeetei