Я немного запутался здесь, не совсем уверен в этом. То, что я пытаюсь сделать, - передать имя файла через terminal
/cmd
, который будет открыт и прочитан.Передача указателя FILE на функцию
myfunction(char* fileName, FILE* readFile)
{
if((readFile = fopen(fileName,"r")) == NULL)
{
return FILE_ERROR;
}
return FILE_NO_ERROR;
}
int main(int argc, char **argv)
{
FILE* openReadFile;
if(myfunction(argv[1], openReadFile) != FILE_NO_ERROR)
{
printf("\n %s : ERROR opening file. \n", __FUNCTION__);
}
}
Мой вопрос, если я передать указатель на openReadFile
myfunction()
будет readFile
указатель на открытый файл будет сохранен в openReadFile
указатель или мне нужно поставить *readFile
при открытии.
Вам нужно передать '& openReadFile' в функцию, если вы хотите, чтобы обновленный указатель передавался вызывающему. Объявление параметра функции будет 'FILE ** readFile' –
... или передать успешный указатель назад как значение функции, или' NULL'. –
Не могу ли я просто разыграть readFile при fopen-ing? –