c - 是否需要将文件指针传递给main?

标签 c

我对 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 吗?

最佳答案

只需将文件名作为参数传递给 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;
}

关于c - 是否需要将文件指针传递给main?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15846415/

相关文章:

android - 在 android 中使用 malloc/free

c - 段错误 - 如何从管道写入和读取链表

c - 为什么读/写锁需要锁?

c - 格式化生成的数据

c - 在 C 中定义函数

C - 如果结构在文件中如何保留数组

c - char 变量在不接受输入的情况下继续进行

C中线程不能是 "paused"吗?

c - 如何减少 C 中深度递归函数的堆栈帧?

c - 从 .h 头文件中删除预编译指令