나는 기존 파일 확인하는 기능이 있습니다특정 디렉토리에 파일이 있는지 확인하는 방법은 무엇입니까?
int file_exists(char *filename)
{
struct stat buffer;
int i = stat(filename, &buffer);
if (i == 0) {
return 1;
}
return 0;
}
을하며 전체 경로로 잘 작동하지만 나는 파일이 사용자 홈 디렉토리에 존재하지 않을 경우 있는지 확인하려면 -/etc 디렉토리에. 그것을하는 방법?
함수 본문의 마지막 4 행은'return! i;'와 같습니다. –
@Nips :이 함수는 주어진 경로가 일반 파일 대신 디렉토리를 참조하는 경우 0이 아닌 값을 반환합니다. 경로가 정규 파일을 참조하는 경우에만 0이 아닌 값을 반환하려면'struct stat'의'st_mode' 멤버를 검사해야합니다. 예 :'return (stat (filename, & buffer) == 0 && S_ISREG (buffer.st_mode)); ' –