0

我有一个指针,其中下一个X元素是末尾带有 a的ASCII字符。'\0'我需要将ASCII字符保存在char数组或string类型中。

是否可以使用指针动态初始化一个stringchar数组?C++下面的代码无法编译并出现以下错误:

char symbol[11];
symbol = (packet+8);

错误:数组类型“char [11]”不可分配

packet是保存数据的指针,ASCII字符从第 8 个位置开始)。

理想情况下,我希望避免遍历指针来初始化字符串或字符数组。

for (int i = 0; i < 11; i++) {
    symbol[i] = *(packet+8+i);
}

预先感谢您的所有帮助。

4

1 回答 1

1

您可以使用std::copy复制这样的内容:

char symbol[11];
std::copy(packet + 8, packet + 19, symbol);

或使用std::string构造函数:

std::string symbol(packet + 8, packet + 19);
于 2020-07-04T02:15:59.147 回答