[英]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.