2 yeyingting30 yeyingting30 于 2015.05.29 17:33 提问

VS2013 C++反斜杠怎么无法输入啊?

用VS2013 C++最近才发现这个问题,用\来输入反斜杠无效.
代码如下:(我想在一字符串里输入:E:\yeying\ying)
WCHAR szPath[]=L"E:\yeying\ying";
以上代码在下一行断点停下后看变量里的内容居然是:E:\yeying\ying。
把代码改成如下:
WCHAR szPath[]=L"E:\yeying\ying";
再断点看内容居然是:E:yeyingying。
不管怎么样都无法输入反斜杠字符\,
用别的类型如CString 也是一样,
这是怎么回事,请高手指点一下!

我用的C++,你说的@在C++下显示无法识别的标记

9个回答

devmiao
devmiao   Ds   Rxr 2015.05.29 17:45
已采纳

不信的话,你可以用MessageBox输出下,肯定就只有一个斜杠了。

u012216727
u012216727   Ds   Rxr 2015.05.29 17:40

用@可以防止转义,如果你写的是C#代码的话。

如果回答对你有帮助,请采纳

u012216727
u012216727   Ds   Rxr 2015.05.29 17:43

WCHAR szPath[]=@"E:\yeying\ying";//这样的结果就是E:\yeying\ying,而不是E:\yeying\ying。

devmiao
devmiao C#不是这么写的,哥哥。
2 年多之前 回复
devmiao
devmiao   Ds   Rxr 2015.05.29 17:44

以上代码在下一行断点停下后看变量里的内容居然是:E:\\yeying\\ying
这是对的。也就是调试器就是显示两个斜杠。

yeyingting30
yeyingting30   2015.05.29 17:52

谢谢苏小猫,MessageBox输出确实只有一个\

edouardzyc
edouardzyc   2015.05.29 17:52

\ 用 \ 因为要转义的

u012377333
u012377333   Rxr 2015.05.29 19:34

小喵很厉害啊,这都知道

yumu908
yumu908   2015.05.29 19:37

改成E:\yeying\ying 或者E:/yeying/ying

SkivenK
SkivenK   2015.11.17 08:51

用转义字符,例如"\yeyingying",就会输出\yeyingying

SkivenK
SkivenK \\yeyingying
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片