这是我程序的一部分
printf("file name?\n");
scanf("%s", name);
ptr = fopen(name, "r");
if(ptr == NULL){
printf("error opening the file\n");
}
总是说错误。有什么办法可以解决这个问题吗?有什么办法解决这个问题吗?
当用C语言读取一个文件时,该文件是否需要和程序在同一个文件夹中?
不,不需要。
如果是这样,有什么方法可以读取另一个文件夹中的文件吗?
你需要提供一个文件的路径--可以是绝对路径,也可以是当前工作目录的相对路径。 路径的具体格式取决于你使用的操作系统,其值当然也取决于你的文件系统的结构。
然而,在你的情况下,发生错误是因为你试图打开一个不存在的文件。 如果你打开文件进行阅读,也就是说,如果你使用的是"r"
中的第二个参数 fopen()
文件在打开之前必须存在--它不会像使用 "w"
或"a"
. 见以下说明 fopen()
标准函数此处:
r open text file for reading w truncate to zero length or create text file for writing