为什么用了详尽的路径还不能打开文件? fopen("c:\ newdir \file.dat", "r") 返回错误。
你实际请求的文件名内含有字符 \n 和 \f, 可能并不存在, 也不是你希望的。 在字符常量和字符串中, 反斜杠 \ 是逃逸字符, 它赋予后面紧跟的 字符特殊意义。为了正确的把反斜杠传递给 fopen() (或其它函数), 必须成双的 使用, 这样第一个反斜杠引述了第二个:
fopen("c:\\newdir\\file.dat", "r")
另一个选择, 在 MS-DOS 下, 正斜杠也被接受为路径分隔符, 所以也可以这样用:
fopen("c:/newdir/file.dat", "r")
注意, 顺便提一下, 用于预处理 #include 指令的头文件名不是字符串文字, 所以不必担心反斜杠的问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。