c++ - 当长度已知时,如何连接由 void 指针指向的两个字符串?
问题描述
鉴于以下示例:
const void * x = "Foo";
size_t xLength = 3;
const void * y = "Bar";
size_t yLength = 3;
有没有一种有效的方法可以连接指向的数据(即生成"FooBar"
),而无需先将两组数据复制到两个单独std::string
的 s 中?这是我想到的唯一解决方案,但我觉得必须有一种更有效的方法来实现我想要的。
谢谢!
解决方案
无需复制到个人std::string
。刚投到const char*
const void * x = "Foo";
size_t xLength = 3;
const void * y = "Bar";
size_t yLength = 3;
std::string foobar(static_cast<const char*>(x), xLength);
foobar.append(static_cast<const char*>(y), yLength);
推荐阅读
- twig - Twig 按环境自动导入宏
- uipath - 使用 UiPath 复制到 SAP 中的剪贴板
- jenkins - 如何延迟 VMware 工具的启动?
- node.js - 如何删除 mongodb 数据库中的特定 id?
- c# - Xamarin.Forms 在尝试创建 MasterDetailPage 时无法将类型为“System.RuntimeType”的对象转换为类型“Mono.Debugger.Soft.TypeMirror”
- visual-studio - 恢复 ctrl + V 以在 Visual Studio 2017 中粘贴
- symfony - Symfony OneToOne 学说就像在 QueryBuilder 中一样
- sql - 删除包含外键的行在 SQL 中不显示任何结果
- javascript - 如果浏览器和平台组合支持一键注册和自动登录,有什么方法可以通过javascript识别?
- java - RxJava- 定期监听即将到来的 Observable