가능한 중복 :
What’s the best way to check if a file exists in C? (cross platform)C, 읽기/쓰기가 불가능한 파일이 있는지 확인하십시오.
난 파일이 존재 아닌지 확인하고 싶습니다. 내 테스트 파일의 권한을 "chmod -r somefile"으로 변경했습니다. 그러나 현재 파일이 존재한다고해도 존재하지 않는다고합니다.
그래서 내가 "fopen r"로 파일을 열 수없는 사용 권한을 읽지 않는다고 가정합니다. 그렇다면 파일이 있는지 또는 읽거나 쓸 수 없는지를 쉽게 알 수있는 방법이 없다는 뜻입니까?
아니면 뭔가 빠졌습니까? 어떤 도움이라도 좋을 것입니다.
감사합니다.
int doesFileExist(const char* filename)
{
FILE* fptr = fopen(filename, "r");
if (fptr != NULL)
{
fclose(fptr);
printf("File exists\n");
return 1;
}
printf("File doesnt exist\n");
return 0;
}
업데이트 : 멋진 링크와 설명을 보내 주셔서 감사합니다.
음 ..'errno'를 확인 했습니까? 편집 : 일부 오류 메시지를 얻으려면이 시도하십시오.'printf ("파일이 없습니다 : % s \ n", strerror (errno));''errno.h '헤더를 포함하는 것을 잊지 마십시오. – Jack
이것은 stdio API에 대해 싫어합니다. 파일 크기를 조정하거나 이전의 파일을 복사하거나 삭제하지 않고 파일을 옮기는 등의 작업을 수행해야 할 때마다 이식성 측면에서 운이 좋지 않습니다. – Thomas