在C++中打印"\"字符

 mobiledu2502870193 发布于 2023-02-08 15:15

这个问题可能很愚蠢但如果我了解这种行为会很好.

我试着打印

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

使用一个简单的程序

char testme [] ="\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\0";
cout<<"testme:"<

这种情况下的输出是

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

我打算打印64"\"字符,而输出是32"\"字符.

似乎有一些我缺少的东西,因为输出正好是一半.

编辑:我问的原因是因为,我必须^ "\"另一个字符用于HMAC加密,我看到一些奇怪的事情.

2 个回答
  • 这称为转义,是一种将某些字符插入字符串的机制.例如,如果要在字符串中插入引号,则需要将其转义.

    char testme [] ="I am a so called \"programmer\".";
    

    还有\n,\t和其他代码.但是,这适用于\它自己,因为您可能希望能够使用一个字符串,\n而不将其转换为换行符.

    char testme [] ="This is a backslash followed by the letter n: \\n";
    

    2023-02-08 15:18 回答
  • 在C++ 11中你可以这样做......

    char testme [] =R"(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\0)";
    cout<<"testme:"<<testme<<endl;
    

    R"(...)"for Raw Character Strings...要在字符串文字中表示反斜杠(),我们必须在它前面加一个反斜杠.为防止错误(反斜杠太多),C++提供了raw string literals...

    2023-02-08 15:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有