我在這裏有點困惑,對此不太確定。我想要做的是將文件的名稱通過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嗎? –