繁体   English   中英

读取 C 中的文件时,该文件是否需要与程序位于同一文件夹中? 如果是这样,有没有办法读取另一个文件夹中的文件?

[英]When reading a file in C, does the file needs to be in the same folder as the program? And if so, is there any way to read a file in another folder?

这是我的程序的一部分

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

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

读取 C 中的文件时,该文件是否需要与程序位于同一文件夹中?

不,它没有。

如果是这样,有没有办法读取另一个文件夹中的文件?

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

但是,在您的情况下,发生错误是因为您尝试打开一个不存在的文件。 如果您打开文件进行读取,也就是说,如果您在fopen()的第二个参数中使用"r" ,则该文件必须在您打开它之前存在 - 它不会像您使用"w"那样由系统创建或"a" 请参阅此处C 标准中的fopen() function 的描述:

 r open text file for reading w truncate to zero length or create text file for writing

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM