C++中如何禁止转义字符转义?比如"C:\node"代表一个在C盘下的node文件夹。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中如何禁止转义字符转义?比如"C:\node"代表一个在C盘下的node文件夹。相关的知识,希望对你有一定的参考价值。
比如:用C++可以获取文件路径:【C:\Program Files\Adobe\Adobe Bridge CS6 (64 Bit)】,但是实际使用时,我需要的文件路径为【C:\\Program Files\Adobe\\Adobe Bridge CS6 (64 Bit)】。在C#中可以在路径名前面加一个"@"来禁止转义,在C++中有没有类似的实现方式?希望能够讲解详细一点。谢谢。
参考技术AC++11的raw-string-literal,例如R"(Address)"或者R"---(Address)---",括号外面的必须是相同的。
/ 确实似乎在Windows上有效。。
最弱的,\\\\。
感谢三位大侠的回答。用"/"代替"\\"确实有效。给你们三位都点一个赞吧。。。
参考技术B C++中没有这种功能,不过我记得当年为了在读取文件路径中绕过这个恶心的 \\ 尝试使用 / 代替,结果成功了本回答被提问者采纳 参考技术C C++文件操作中用/代替//就行了。C# 如何去掉string中所有转义字符(特殊符号)?
例如,"\b\0\0XXXX-AP\0\0\0\0\0\0"。取其中转义字符以外的部分(即XXXX-AP部分),该怎么取?转义字符的位置不能确定,种类也不固定。
PS:以上string是从byte[]转换来的。也可以在byte[]那一步下手。
byte[] ssid = (byte[])mo["Ndis80211SsId"];
string ssidString = Encoding.ASCII.GetString(ssid);
1、去掉字符串中的转义等特殊字符:
stringinputString=@”helloworld]\\“;
StringBuildersb=newStringBuilder();
string[]parts=inputString.Split(newchar[]’‘,‘\\n’,‘\\t’,‘\\r’,‘\\f’,‘\\v’,’\\’,StringSplitOptions.RemoveEmptyEntries);
intsize=parts.Length;
for(inti=0;i<size;i++);
sb.AppendFormat(“0“,parts[i]);
2、删除字符串头尾的转义等特殊字符串:
使用SubString和Remove来操作
比如去掉结尾的转义字符,可以使用
inputString.SubString(0,inputString.Length-1);
inputString.SubString(0,inputString.Length-2);
inputString.SubString(0,inputString.Length-3);
扩展资料
C#字符串取消转义字符的转义作用,使其正常显示
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespacetest1
publicpartialclassForm2:Form
publicForm2()
InitializeComponent();
privatevoidbutton1_Click(objectsender,EventArgse)
stringstr=@"D:\\document\\test.txt";
stringstr1="D:\\\\document\\\\test.txt";
MessageBox.Show(str+"---"+str1);
参考技术A using System.Linq;string st = "\b\0\0XXXX-AP\0\0\0\0\0\0";
string s = new string((from c in st.ToCharArray() where char.IsControl(c) select c).ToArray());本回答被提问者和网友采纳 参考技术B string st = "\b\\\0\0XXXX-AP\0\0\0\0\0\0";
st = st.Trim(new char[] '\'', '\"', '\\', '\0', '\a', '\b', '\f', '\n', '\r', '\t', '\v' ); 参考技术C -----------
-----------
这个我估计必须得把所有的转义字符先存起来,
然后再一个个来比较
以上是关于C++中如何禁止转义字符转义?比如"C:\node"代表一个在C盘下的node文件夹。的主要内容,如果未能解决你的问题,请参考以下文章