prev up next   top/contents search

comp.lang.c FAQ 列表· 第 19.17 问

为什么我不能通过文件的显式路径打开文件?调用

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


您实际请求的文件——其名称中包含\n\f这些字符——可能不存在,也不是您认为要打开的文件。

在字符常量和字符串字面量中,反斜杠\是转义字符,它赋予其后的字符特殊含义。为了使路径名中的字面反斜杠能够被正确地传递给fopen(或任何其他函数),它们必须加倍,这样每一对中的第一个反斜杠会引用第二个反斜杠

	fopen("c:\\newdir\\file.dat", "r")
或者,在 MS-DOS 下,目录分隔符也接受正斜杠,因此您可以使用
	fopen("c:/newdir/file.dat", "r")
(另外,请注意,预处理器#include指令中提到的头文件名不是字符串字面量,因此您可能不必担心那里的反斜杠。)


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管