Можно найти в домашняя страница исследования Google некоторые указатели о научно-исследовательских работах записанный некоторыми парнями Google. Необходимо запустить с explanatio , файловая система Google и эти отображает/уменьшает алгоритм , чтобы попытаться понять то, что продолжается позади страниц Google.
В первой строке у вас есть
int open_text_file(char text_file_name[])
Это объявляет возвращаемый тип как int
У вас должно быть
FILE * open_text_file(char text_file_name[])
. Кроме того, в случае "else" вы должны вернуть что-то, чтобы указать ошибка вызывающего абонента.
return NULL
является подходящим выбором. Однако не забудьте проверить возвращаемое значение при его вызове.
Функция немного бессмысленна, поскольку все, что она делает, - это то, что делает fopen (), плюс сообщение об ошибке. Это не очень хорошая конструкция, поскольку ветвь ошибки также должна возвращать указатель (предположительно NULL), который затем необходимо снова протестировать в вызывающем коде. Лучше было бы просто сказать:
FILE * fp = fopen( somefile, "r" );
if ( fp == NULL ) {
fprintf( stderr, "Cannot open %s\n", somefile );
exit(1); // or whatever you need to do to handle the error
}
FILE * open_text_file ();
должен быть прототипом.
int
не является FILE *
.