C语言文件路径问题(一)

今天写程序时发现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都可以哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值