首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c++简介:自学

c++简介:自学
EN

Stack Overflow用户
提问于 2010-12-04 06:28:56
回答 5查看 297关注 0票数 3

我为我的程序获得了以下代码的帮助。我在工作,谢谢“paxdiablo”。它仍然在结果中显示'\‘字符。我怎么才能修复它?(不知道如何回复'paxdiablo‘给你谢谢。

代码语言:javascript
运行
复制
if (strchr (",.();:-\"&?%$![]^@~`{}_<>/#*_+=", curChar) != NULL)//new change
{
   paragraph.erase(subscript, 1);
   numWords-=1;
}
else 
   subscript+=1;

}
EN

回答 5

Stack Overflow用户

发布于 2010-12-04 06:32:03

不是C语言专家,但尝试转义\

代码语言:javascript
运行
复制
if (strchr ("\\,.();:-\"&?%$![]^@~`{}_<>/#*_+=", curChar) != NULL)//new change
票数 5
EN

Stack Overflow用户

发布于 2010-12-04 06:34:10

看看您匹配的字符串是如何包含\"的?

这是一个转义序列。它告诉C++编译器,“我希望"符号在这个字符串文字中”。您必须以这种特殊的方式来表示,因为通常情况下,"标记字符串的末尾。

\字符很特殊,因为它启动了所有这些转义序列。因此,如果希望它出现在字符串中,也必须使用转义序列。否则,编译器会认为您正在启动其他转义序列。

奇怪的是,\的转义序列是\\

票数 2
EN

Stack Overflow用户

发布于 2010-12-04 06:31:54

如果您还想删除'\‘,则需要执行以下操作:

代码语言:javascript
运行
复制
if (strchr (",.();:-\\\"&?%$![]^@~`{}_<>/#*_+=", curChar) != NULL)

原因是原来的代码行有\",它实际上避开了"。要添加实际的\,您需要执行\\以对其进行转义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4350436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档