如果在目录名称之前放置斜杠'/',则fopen在C中失败

时间:2017-10-13 10:01:43

标签: c linux windows fopen

如果我通过以下任何一种方式在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上。它的原因是什么?我应该删除开始斜线'/'吗?

1 个答案:

答案 0 :(得分:0)

你需要添加“。”面前的“/”

ex:fopen("./dir/file.txt", "w");

如果以“/”开头,它将从根目录开始。这就是fopens返回null的原因