使用相对路径打开文件失败

时间:2012-01-11 02:21:16

标签: c file-io

当我提供相对路径时,使用fopen()打开的文件失败。我在使用Visual Studio 2010的Windows机器上运行此代码。

const char* OUTPUT_FILE = "output/PERFORMANCE.txt";
FILE* f = fopen(OUTPUT_FILE, "w");

这种指定相对路径的方式不正确吗?我应该使用“\”分隔符吗?

使用相同格式指定绝对路径可以正常工作。 (例如“C:/output/PERFORMANCE.txt”)

2 个答案:

答案 0 :(得分:2)

检查您当前所在的目录。使用Windows至少有两种方法:

  1. _getcwd
  2. GetCurrentDirectory
  3. 确保您位于您认为的目录中,并确保目录中存在目录output,否则您需要创建它。使用Windows,至少有两种方法:

    1. _mkdir
    2. CreateDirectory
    3. 如果没有任何中间目录,文件将无法打开(即使是写入)。如果您没有目标目录的权限,该文件也可能无法打开。

答案 1 :(得分:0)

output子目录是否存在?打开要写入的文件将创建该文件(如果该文件不存在),但不创建该文件的路径。