如果我通过以下任何一种方式在 C 中打开文件,则 fopen
工作正常。
fopen("file.txt", "w");
fopen("/file.txt", "w");
fopen("dir/file.txt", "w");
如果我在目录名称前添加斜杠“/”(如果是 Windows,则为“\”),如下所示,fopen
会失败(返回 NULL)。
fopen("/dir/file.txt", "w");
Windows (MSVC) 和 Linux 上都会发生这种情况。其原因何在?我应该删除起始斜杠“/”吗?
最佳答案
您需要添加“。” “/”前面
例如:fopen("./dir/file.txt", "w");
如果以“/”开头,它将从根目录开始。这就是 fopens 返回 null 的原因
关于c - 如果在目录名称之前放置斜杠 '/',则 fopen 在 C 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46727344/