C++ 将三个 char* 字符串连接在一起[关闭]

2024-04-23

我是 C++ 新手,正在寻找一种将三个 char* 字符串连接在一起的方法?谁能给我看一些示例代码?

亲切的问候,


在 C++ 中你通常使用std::string对于字符串。这样你就可以连接+操作员。例如:

std::string s = s1 + s2 + s3;

where s1, s2 and s3你的三根弦是否固定在std::string变量。

如果你有s1, s2 and s3 as char* or const char*然后你写得有点不同。

std::string s = s1; // calls const char* constructor
s += s2; // calls operator+=() overload that accepts const char*
s += s3; // and again

如果您确实想使用以 null 结尾的 C 字符串和 C 字符串函数,那么您可以使用strcpy复制并strcat连接。

char[SOME_LARGE_ENOUGH_VALUE] str;
strcpy(str, s1);
strcat(str, s2);
strcat(str, s3);

where s1, s2 and s3你的三个字符串是char* or const char*.

当然,选择SOME_LARGE_ENOUGH_VALUE是有趣的部分。如果这是一个学习练习,那么您可能想了解如何动态分配字符串。

char *str = new char[strlen(s1) + strlen(s2) + strlen(s3) + 1];

然后您可以使用strcpy, strcat上面随机播放。但现在您有责任销毁您分配的原始内存。因此,考虑如何以稳健的方式做到这一点,然后使用std::string!


从注释来看,您似乎想要连接三个字符串,然后将结果字符串传递给接受 C 字符串的低级哈希函数。所以,我建议你做所有的工作std::string。仅在最后一刻,当您调用哈希函数时,才使用c_str()函数得到一个const char*连接字符串的表示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 将三个 char* 字符串连接在一起[关闭] 的相关文章

随机推荐

  • 将 Session 变量传递给名为 PHP 脚本的 ajax

    在我的 PHP 脚本中使用会话时 我想将会话变量传递给 PHP 调用的脚本 但是会话变量没有被调用 因为在 HTML 代码之后无法使用 session start 函数 我正在使用简单的 Javascript AJAX 请给我路径 我认为您
  • NSCollectionView:仅接受项目之间的拖动,而不接受拖动

    我有一个NSCollectionView已实施且工作良好 然而 当 拖动项目来重新排列它们 我只想接受拖动 物体之间 当前的行为是您可以在对象之间拖动 它会打开一个 空间 而且over一个东西 我希望下面的图片能更好地说明问题 例如 将项目
  • Jquery DatePicker 颜色周日红

    有没有办法在 Jquery Datepicker 中将星期日的颜色更改为红色 something datepicker beforeShowDay function date if date toString indexOf Sun 1 r
  • 创建默认为纪元时间的字段

    我需要为表创建一个时间戳字段 该表的行需要在一定时间后过期 如果我使用以下内容 timestamp TIMESTAMP DEFAULT NOW 它以人类可读的格式显示时间 如果我可以用纪元时间来显示时间 这样我就可以用秒来计算 那就容易多了
  • GetWindowTextA、GetWindowText 在编辑控件上返回空值

    我正在尝试从 C Java 的外部窗口列出并获取编辑控件的内容 不幸的是没有成功 当我调用 GetWindowText 或 GetWindowTextA 时 它在编辑控件上返回空值 我知道 GetWindowText GetWindowTe
  • 如何动态覆盖 Angular2 可注入服务?

    我有一个可注入服务 HttpRequestService 当没有服务器时我想用 MockHttpRequestService 替换它 因为我正在开发模式下运行 npm start 这个 MockHttpRequestService 将发回非
  • 网页编码,设置矛盾[重复]

    这个问题在这里已经有答案了 如果一个网页有 但http标头有 Content Type text html charset UTF 8 那么假设什么编码呢 在 HTML5 中 优先级定义为 用户浏览器设置 字节顺序标记 HTTP 标头 or
  • 片段交易动画完成后执行操作

    我想在动画完成后设置按钮可见性 这就是所谓的动画 android support v4 app FragmentTransaction fAnimation this getActivity getSupportFragmentManage
  • 消除具有反向关系且无主键的元组

    我试图根据下面的问题插入所有关系 我已经得到了从 A 到 C 的所有关系 根据下面的问题 但就我而言 我还得到了 C 与 A 的朋友 的记录 据我理解问题陈述 没有重复的友谊 我必须将友谊插入为 A 到 C 而不是反之亦然 要么我对问题理解
  • 错误“DocumentNotFoundError:找不到查询的文档”{_id:xxx}

    我克隆了对象 preventivo 当我运行此代码时 出现以下错误 节点 24548 UnhandledPromiseRejectionWarning 未处理的承诺拒绝 拒绝ID 1 DocumentNotFoundError 在模型 pr
  • 使用 Flask-Login 在 Flask 中获取“str”对象没有属性“is_authenticated”

    我正在尝试使用 Flask Login 设置 Flask 登录 我有一个供用户使用的 CouchDB 客户文档有一个称为 用户 的对象 class User UserMixin def init self user self name us
  • 包含 php 类时未找到该类

    我在 php 中有一个名为 SEO URL 的类 在那堂课上的某个时刻我有这个 class name cPath SEO URL return class name href 我得到 Fatal error Class cPath SEO
  • “仅”在暂存文件上运行 eslint

    我正在尝试使用预提交挂钩在提交发生之前检测 eslint 错误 我正在使用哈士奇和 lint staged 但它对 src 中的所有文件运行 lint 命令 而不仅仅是对暂存文件运行 lint 命令 这是我的 package json 文件
  • Android 的 BitmapFactory 解码函数

    我遇到问题 decodeStream功能 File cacheMap new File context getCacheDir test GIF if cacheMap exist FileInputStream is new FileIn
  • 并行调用一系列 Promise,但按顺序解决它们,而不等待其他 Promise 解决

    我有一系列的承诺 我想并行调用 但同步解析 我编写了这段代码来完成所需的任务 但是 我需要创建自己的对象QueryablePromise包裹原生Promise我可以同步检查它的已解决状态 有没有更好的方法来完成这个不需要特殊对象的任务 请注
  • 将信息添加到数据帧的 if 条件

    我需要创建一个包含以下列的数据框 WEB Country Organisation 我从网站中提取这些信息 但是 有些网站的网站上没有任何信息 这导致我在更新数据框时遇到一些问题 不幸的是 该代码一次只能运行一个网站 否则会出现验证码 请参
  • Latex:列表前后的垂直空间

    我无法摆脱列表前后的垂直空间 我有如下代码 begin list setlength itemsep 0pt setlength parskip 0pt setlength parsep 0pt item First item item S
  • 正则表达式匹配引号外的文本等

    1 我想出了这个正则表达式来匹配所有引用的字符串 看起来效果很好 问题是如何匹配不在引号内的文本 不知怎的 逆负负 我阅读了文档并 1 不起作用 嗯 如果第一个正则表达式有效 我将使用它从输入字符串中删除所有带引号的字符串 然后 您将剩下的
  • 如何编写 Linq 表达式来对一组实体调用 OrderBy?

    有人可以解释构建表达式的语法 该表达式将按实体上用户指定的属性进行排序吗 这篇 MSDN 文章对提供帮助有很大帮助 但它涉及一个简单的字符串列表 我的数据集包含我自己的自定义对象 http msdn microsoft com en us
  • C++ 将三个 char* 字符串连接在一起[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overfl