我对C编程很陌生,我必须创建一个程序,要求用户输入要打开的文件名,然后打开该文件并打印已排序的值。
我是否需要将文件指针传递给main,或者我可以在一个函数中打开文件,我可以在其他函数中使用该文件吗?
int getFile ()
{
char file_name[100];
FILE* fp;
int rc;
printf("Enter the file name: ");
rc = scanf("%s", file_name);
if (rc != 1)
printf ("error");
fp = fopen(file_name, "r");
return 0;
}
我是否必须将文件指针从此处传递给main?
答案 0 :(得分:1)
只需将文件名作为参数传递给main
函数,它也许就是你想要的。
您可以使用int main(int argc, char* argv[])
,例如:
int main(int argc, char* argv[])
{
FILE* fp;
if (argc == 1)
printf("usage : a.out filename\n");
else
{
if (fp = fopen(*++argv, "r") != NULL)
{
/*your code here*/
}
}
return 0;
}
答案 1 :(得分:0)
您可以在一个函数中打开该文件,并将其作为参数传递给其他函数。例如,对于预打开文件句柄stdin,您可以将其用作:
char mystring [100];
fgets (mystring , 100 , pFile)