【发布时间】:2015-12-23 14:24:28
【问题描述】:
我有 std::string 变量。我需要从无符号字符数组中放入一些字节。我知道第一个字节和长度。
我可以使用 std::string::assign 函数。我已经做到了。
但我想使用 memcpy 函数以正确的方式解决这个问题。
std::string newString;
memcpy(&newString, &bytes[startIndex], length);
我知道这是错误的。我使用 std::vector 研究并发现了一些想法。
请帮我找到最优雅的解决方案。
【问题讨论】:
-
为什么你认为
assign()不是“正确的方式”? -
“以正确的方式”是“我知道这是错误的” = ?
-
@Barry 我想用两种不同的方式解决它。我正在学习 C++ 语言。找到这个解决方案对我来说很有趣:)
-
@crashmstr 但可以使用 memcpy 解决。对我来说,像学习者这样的人很有趣:)
-
@Barry 从
unsigned char到char的转换是在签名char的平台上实现定义的。memcpy将以可移植方式保留位模式。
标签: c++ stl memcpy unsigned-char