【发布时间】:2021-11-01 05:20:04
【问题描述】:
我有一个std::string 数组,我需要将它转换为一个无符号字符数组,以便我可以将此数组与只接受无符号字符数组的第三方库一起使用。
假设我的数组是
std::string array[3];
array[0] = "a105b";
array[1] = "c258e"
array[2] = "ff587";
我需要把这个数组转入:
unsigned char cArray[3][5];
我可以硬连线 unsigned char,如下所示:
unsigned char cArray[3][5] = {"a105b", "c258e", "ff587"};
但我无法找到一种方法来使用 C++ 代码将数据从 std::string 数组传输到 unsigned char 数组。
【问题讨论】:
-
字符串字面量包括终止符
'\0'、which your array has not accounted for。您是否打算删除那些终止字符? -
@Musnazril Mustaq Khan 在与 C 相对的 C++ 中,此声明 unsigned char cArray[3][5] = {"a105b", "c258e", "ff587"};是不正确的。在这种情况下,数组的维度必须是 cArray[3][6]。
-
你可以使用循环。
-
你可以
memcpy字符串,使用string::c_str方法。