开发者社区 问答 正文

为什么用了详尽的路径还不能打开文件?

为什么用了详尽的路径还不能打开文件? fopen("c:\ newdir \file.dat", "r") 返回错误。

展开
收起
游客py5kcp7dd6tu6 2022-03-30 07:37:43 484 分享 版权
1 条回答
写回答
取消 提交回答
  • 你实际请求的文件名内含有字符 \n 和 \f, 可能并不存在, 也不是你希望的。 在字符常量和字符串中, 反斜杠 \ 是逃逸字符, 它赋予后面紧跟的 字符特殊意义。为了正确的把反斜杠传递给 fopen() (或其它函数), 必须成双的 使用, 这样第一个反斜杠引述了第二个:

        fopen("c:\\newdir\\file.dat", "r")
    

    另一个选择, 在 MS-DOS 下, 正斜杠也被接受为路径分隔符, 所以也可以这样用:

        fopen("c:/newdir/file.dat", "r")
    

    注意, 顺便提一下, 用于预处理 #include 指令的头文件名不是字符串文字, 所以不必担心反斜杠的问题。

    2022-03-30 07:38:11
    赞同 展开评论
问答地址: