如果我通过以下任何一种方式在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上。它的原因是什么?我应该删除开始斜线'/'吗?
答案 0 :(得分:0)
你需要添加“。”面前的“/”
ex:fopen("./dir/file.txt", "w");
如果以“/”开头,它将从根目录开始。这就是fopens返回null的原因