今天写程序时发现C语言操作文件路径有一些问题:
#include <stdio.h>
int main()
{
FILE *fp;
fp=fopen("c:\\text.txt","w");
if(fp)
{
fclose(fp);
}
else
printf("新建文件夹失败\n");
system("pause");
return 0;
}
这段代码目的是为了在C盘的根目录建立一个可写的text.txt文件。但是可能是我粗心打错了,我把
fp=fopen("c:\\text.txt","w");写成了<pre name="code" class="cpp">fp=fopen("c:/text.txt","w");
程序也是可以运行的 。
最后,经过多方查证,发现原来是如下问题:
C 语言 最早 用于 unix.unix 的路径 是用 正斜杠 /, linux 继承 unix 用 正斜杠,网页 html 等 也是用 正斜杠.
反斜杠,计算机 软件 用于 “转义”.
可是垄断了微机操作系统的微软,路径 用的是 反斜杠 \. 所以在视窗系统的C程序中写文件路径时,不得不用 “双反斜杠”,第一个反斜杠叫 “转义”(就是下一个字符作特殊解释),“双反斜杠”解释为路径。
理论上 "xxx/xx"与"xxx\\xx" 没有什么区别,但不是所有编译器都懂。总之,微软系统你用 “双反斜杠”保险。
而且,如果你在计算机的本地搜索栏中打入C:/text.txt 和打入C:\text.txt都可以哦