C文件处理中的相对路径

C文件处理中的相对路径,c,C,我需要在我的程序中读取文件,所以在提供路径时,我想给出相对路径,因为所有要打开的文件都将位于当前文件夹中的某个文件夹中。 我试过这个: FILE *f=fopen("./abc/p.txt","r") abc是包含当前文件夹的文件夹,但fopen返回NULL。如何做这件事?这来自以下任何一项: . 或./abc/不可读或不可遍历 ./abc/p.txt不可读 ./abc/p.txt不存在 /abc/p.txt是一个断开的链接 查看errno以了解真正的问题所在。这来自以下任一方面: . 或./

我需要在我的程序中读取文件,所以在提供路径时,我想给出相对路径,因为所有要打开的文件都将位于当前文件夹中的某个文件夹中。 我试过这个:

FILE *f=fopen("./abc/p.txt","r")

abc是包含当前文件夹的文件夹,但fopen返回NULL。如何做这件事?

这来自以下任何一项:

. 或./abc/不可读或不可遍历 ./abc/p.txt不可读 ./abc/p.txt不存在 /abc/p.txt是一个断开的链接
查看errno以了解真正的问题所在。

这来自以下任一方面:

. 或./abc/不可读或不可遍历 ./abc/p.txt不可读 ./abc/p.txt不存在 /abc/p.txt是一个断开的链接 查看errno以了解真正的问题所在。

这将运行: 文件*f=fopen…\\abc\\p.txt,r

这将运行:
文件*f=fopen…\\abc\\p.txt,r

fopen报告了什么错误?当对fopen的调用失败时,读取errno始终是您要做的第一件事。顺便说一句-为什么不尝试一个路径或abc/p.txt?该路径相对于当前工作目录,它不一定与可执行文件的位置相同。验证当前工作目录是否与您认为的相同。除了检查errno的数值外,您还可以使用strerror获取可打印字符串,或者使用perror直接打印错误字符串。嗯。。读取字符串错误消息。尝试以下代码:iffp==NULL perroApp;或iffp==NULL printf%s\n,strerrorno;fopen报告了什么错误?当对fopen的调用失败时,读取errno始终是您要做的第一件事。顺便说一句-为什么不尝试一个路径或abc/p.txt?该路径相对于当前工作目录,它不一定与可执行文件的位置相同。验证当前工作目录是否与您认为的相同。除了检查errno的数值外,您还可以使用strerror获取可打印字符串,或者使用perror直接打印错误字符串。嗯。。读取字符串错误消息。尝试以下代码:iffp==NULL perroApp;或iffp==NULL printf%s\n,strerrorno;您应该在文件中添加符号链接。/abc/p.txt可能是断开的符号链接。您应该在文件中添加符号链接。/abc/p.txt可能是断开的符号链接。是否使用三个点和反斜杠?为什么?有三个点和反斜杠?为什么?