18.7 fopen("c:\newdir\file.dat", "r")返回错误

问题:

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

你实际请求的文件名内含有字符nn 和nf, 可能并不存在, 也不是你希望的。

在字符常量和字符串中, 反斜杠n 是逃逸字符, 它赋予后面紧跟的字符特殊意义。

为了正确的把反斜杠传递给fopen() (或其它函数), 必须成双的使用, 这样第一个反斜杠引述了第二个:

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

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

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

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

永不止步步 发表于01-18 10:02 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:363791个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号