c语言刚才那里fopen里直接输入文件名路径要\\,为什么这样就可以用一个\

fflush(stdin);gets(filename);putchar(10);if((fp=fopen(filename,"r+"))!=NULL)在我电脑显示的路径... fflush(stdin);
gets(filename);
putchar(10);
if((fp=fopen(filename,"r+"))!=NULL)
在我电脑显示的路径也是只有一个\啊,这两者有什么不同吗
之前直接给文件命名是这样的,要是只用一个\就会找不到文件了

if((fp=fopen("G:\\abc.txt","r+"))!=NULL)
展开
 我来答
heptnaol
2014-11-28 · TA获得超过7262个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1812万
展开全部
你写在源代码里是"\\",编译之后也是1个\,而且没引号
只因为\是转义符号,你写"G:\abc.txt" 那么\a会被看作一个字符,去解释。
想在字符串里表示\本身,需要用\把\转义,也就是\\。
kaixingui2012
2014-11-28 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6414万
展开全部
在计算机C语言编码中,反斜杠“\"是有特殊意义的。
反斜杠表示一个转义字符,单个斜杠不能使用,必须组合来用,详情可以百度百科。
转义字符与其后的信息组合 使得后面的信息不再是原有的意思,如:\n表示换行 \t表示一个TAB键。
只用一个\就会找不到文件了,就是因为\与其后的信息组合生成的文件名与你想要的文件名不相一致,所以你找不到。
如果想表示真正的一个反斜杠,必须采用\\的方式来显示。 所以会有这样的现象。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ring_year
2014-11-28 · TA获得超过1425个赞
知道小有建树答主
回答量:632
采纳率:80%
帮助的人:539万
展开全部
‘\\’是转义字符表达方式,即内容实质为'\'
你用字符串读入方式内部存储的也还是一个'\'
可以通过printf("G:\\abc.txt");进行测试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式