C++ 中的字符串和 int 连接[重复]

2023-12-08

string words[5];
for (int i = 0; i < 5; ++i) {
    words[i] = "word" + i;
}

for (int i = 0; i < 5; ++i) {
    cout<<words[i]<<endl;
}

我预期结果为:

word1
.
.
word5

但它在控制台中打印如下:

word
ord
rd
d

有人可以告诉我这是为什么吗?我确信在java中它会按预期打印。


C++ 不是 Java。

In C++, "word" + i是指针运算,不是字符串连接。请注意,类型字符串字面量 "word" is const char[5](包括空字符'\0'),然后衰减到const char*这里。因此对于"word" + 0你会得到一个类型的指针const char*指向第一个字符(即w), for "word" + 1你会得到指向第二个字符的指针(即o), 等等。

你可以使用operator+ with std::string, and std::to_string(C++11 起) 此处。

words[i] = "word" + std::to_string(i);

顺便说一句:如果你愿意的话word1 ~ word5,你应该使用std::to_string(i + 1)代替std::to_string(i).

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

C++ 中的字符串和 int 连接[重复] 的相关文章

随机推荐

  • Vaadin 7 在组件之间触发自定义事件

    我想创建自定义事件并在视图的某些部分触发它们 以便更新 删除 刷新视图的其他部分 我尝试过扩展 Component Event 和 Component Listener 但它不起作用 我认为事件和侦听器必须仅限于同一组件实例 Vaadin
  • Cython 条件编译基于通过“setuptools”给出的外部值

    我尝试从 Cython pyx 文件有条件地生成 C 代码 我在 Cython 文档中找到了我可以使用的DEF定义一个值和IF根据定义的值有条件地生成代码 但是如何从setup py via Extension from setuptool
  • 如何从离子应用程序中删除闪屏

    直接启动应用程序 不会出现闪屏和白屏 我正在开发一个离子应用程序 我需要在加载应用程序之前删除应用程序启动时显示的启动屏幕 我不想要任何闪屏 需要删除完整的闪屏不知道该怎么做 让我展示一下我的应用程序的机器设置 Your system in
  • Breeze.Server.WebAPI2“无法满足包依赖性约束”

    我正在尝试添加Breeze Server WebAPI2Nuget 包到 Visual Studio Community 2015 RC 当我单击安装时 我收到 无法满足包依赖性约束 列出的依赖项是 Microsoft AspNet Web
  • 重启Android Studio

    如何重启Android Studio来克服Gradle项目刷新失败错误 无法在以下位置找到哈希字符串 Google Inc Google APIs 23 的目标 C Users Admin AppData Local Android sdk
  • html表格的浮动水平滚动条

    我有一个非常高的 html 表格 网页必须垂直滚动才能到达表格底部的滚动条 当用户滚动页面并且表格可见时 如果我可以将表格的水平滚动条浮动在浏览器窗口底部 那就太好了 这样的事可以做吗 这是 jsFiddle 的情况示例 http jsfi
  • 缩短/避免 if 语句中级联空检查的方法

    我有这个条件 if Model Bids null Model Bids Items null Model Bids Items Count gt 0 问题是 我认为这很丑陋 我可以编写一个封装此函数的函数 但我想知道是否还有其他东西可以帮
  • 如何使用 Google Apps 脚本从 Google 电子表格单元格获取 url?

    我有一个从 Excel 复制的谷歌电子表格 我对此有一些问题 这是我的文件https docs google com spreadsheets d 1Ok phu5OXtvKHLj3MLa7N3WV2qBdMWRz8dLHnTqjHrc e
  • Crystal Reports 图像在 Web 查看器中不可见

    我在继承的应用程序 NET 1 1 中有一些 Crystal Reports V10 该应用程序部署在四个 相同 环境中 在其中三种环境中 它们运行良好 在第四种情况下 图表图形在 Web 查看器中不可见 如果导出报告 它们是可见的 IT
  • 验证日期时间选择器的输入

    如何在 XML 视图中为 datetimepicker 注册验证错误回调 以及如何因无效日期输入而触发此事件 The 日期时间选择器控件是一个带有弹出日期选择器的输入框 用户可以直接在输入中键入或使用所选日期来选择日期 我可以向日期时间值添
  • “Microsoft.ACE.OLEDB.12.0”64x Sql Server 和 86x Office?

    错误 OLE DB 提供程序 Microsoft ACE OLEDB 12 0 不能用于分布式查询 因为该提供程序配置为在单线程单元模式下运行 我看到的答案是 64 位 Sql Server 和 32 位 Office 之间存在冲突 有没有
  • 如何在android中将单个字符串转换为JsonArray?

    我需要将 String 转换为 JsonArray 但我不知道如何转换 我是 Android 开发新手 我想在 MySQL 数据库中插入通话记录详细信息 所以 从 android 端我得到一个字符串 但我不知道如何将该字符串转换为 Json
  • 如何旋转这个 openGl 代码

    在这段代码中 我尝试绘制简单的奥林匹克环并旋转它 下面的工作正常 但我无法旋转环 帮助我解决这个问题 void myReshape int width int height glViewport 0 0 width height glMat
  • 什么是抑制异常?

    一条评论 由用户soc on an answer to 关于尾调用优化的一个问题提到Java 7有一个新功能叫做 抑制异常 因为 ARM的加入 支持ARM CPU 在这种情况下 什么是 受抑制的异常 在其他情况下 抑制的异常 是捕获然后忽略
  • 致命错误:未捕获错误:调用未定义的函数 mysql_pconnect()

    我在 Codeigniter 中遇到这些错误 Fatal error Uncaught Error Call to undefined function mysql pconnect in C xampp1 htdocs CI system
  • xtsible 对象,在 quantmod 中循环

    我想循环遍历股票代码列表并使用以下命令打印它们chartSeries 这比总是改变论点要容易得多 不幸的是 当我想要循环或子集时 我总是会收到错误 Error in try xts x error chartSeries requires
  • CUDA 内核调用中的隐式构造函数

    我正在尝试将一些 POD 传递给内核 该内核具有一些非 POD 作为参数 并且具有非显式构造函数 其背后的想法是 在主机上分配一些内存 将内存传递给内核 并将内存封装在对象中 而无需用户显式执行该步骤 构造函数被标记为 device 代码
  • 使用 VisualBrush 作为 OpacityMask

    我想设置OpacityMask到一个控件 但我需要动态构建该掩码 它应该是这样的 The width and height of the whole red rectangle is dynamic based on width and h
  • 将 AnsiString 转换为 Unicode 字符串

    我正在将 D2006 程序转换为 D2010 我的数据库中每个字符串都有一个字节存储的值 我需要将其加载到具有 LoadFromStream 的控件中 因此我的计划是将字符串写入流并与 LoadFromStream 一起使用 但这没有用 在
  • C++ 中的字符串和 int 连接[重复]

    这个问题在这里已经有答案了 string words 5 for int i 0 i lt 5 i words i word i for int i 0 i lt 5 i cout lt