Я бы хотел быстро проверить, можно ли открыть файл. Он должен быть написан в переносном C или, по крайней мере, для работы с системами Win32 и POSIX. #ifdefs приемлемы.Проверка того, можно ли открыть файл с помощью переносимого C
Я пытаюсь избежать этого:
int openable(const char*filename) {
FILE *f = fopen(filename,"r");
if (!f)
return 0; /* openable */
fclose(f);
return 1; /* not openable */
}
Из того, что я могу сказать стат(), в своей простейшей форме, может быть использована для проверки, если файл существует, но не проверять, если это на самом деле открываемое ,
Ваш код является более или менее способом ANSI для этого, ничего плохого в этом. –
... и он медленный :) –