用C语言读取文件时,文件是否需要和程序在同一个文件夹里?如果是这样,有什么办法可以读取另一个文件夹中的文件吗?

问题描述 投票:1回答:1

这是我程序的一部分

        printf("file name?\n");
        scanf("%s", name);
        ptr = fopen(name, "r");
        if(ptr == NULL){
        printf("error opening the file\n");
        }

总是说错误。有什么办法可以解决这个问题吗?有什么办法解决这个问题吗?

c file
1个回答
1
投票

当用C语言读取一个文件时,该文件是否需要和程序在同一个文件夹中?

不,不需要。

如果是这样,有什么方法可以读取另一个文件夹中的文件吗?

你需要提供一个文件的路径--可以是绝对路径,也可以是当前工作目录的相对路径。 路径的具体格式取决于你使用的操作系统,其值当然也取决于你的文件系统的结构。

然而,在你的情况下,发生错误是因为你试图打开一个不存在的文件。 如果你打开文件进行阅读,也就是说,如果你使用的是"r" 中的第二个参数 fopen() 文件在打开之前必须存在--它不会像使用 "w""a". 见以下说明 fopen() 标准函数此处:

r                     open text file for reading
w                     truncate to zero length or create text file for writing
© www.soinside.com 2019 - 2024. All rights reserved.