【发布时间】:2013-11-27 07:11:37
【问题描述】:
如何读写不在C盘的bin目录下的文件。
我写了这段代码
fs=fopen("d:/source.txt","w");
if(fs==NULL)
{
puts("Unable to open file");
}
它正在输出“无法打开文件”。谁能帮帮我。
【问题讨论】:
-
使用
perror代替打印错误,它应该更具体地告诉您出了什么问题。 -
我认为你的斜线是反的。如果你用 \\ 替换 / 会发生什么(这样它就被转义了)?
-
“C 盘”表明这是一台 Windows 机器。在 Windows 中,所有路径都使用反斜杠编写。但由于 C 字符串中的反斜杠具有特殊含义,因此您必须编写
\` to get one. So the path string should bed:\\source.txt`。 -
@Lundin 但是 Windows CRT 不允许两个斜杠作为路径分隔符吗?事实上,Windows 似乎 总是 支持正斜杠作为分隔符。例如,尝试做例如
dir "c:/some/path"(注意引号字符)在命令窗口中,你会看到它工作正常。 -
问题可能是您没有对`D:`的写访问权限,这就是它失败的原因。但这只是一个猜测。您确实必须检查实际错误。
标签: c windows file-handling