我想将 C 风格的字符串转换为字节 vector 。 一个可行的解决方案是手动转换每个字符并将其推送到 vector 上。但是,我对这个解决方案并不满意,想找到更优雅的方式。
我的尝试之一如下:
std::vector<byte> myVector;
&myVector[0] = (byte)"MyString";
哪个错误让我得到一个
error C2106: '=': left operand must be l-value
正确的做法是什么?
最佳答案
最基本的事情是这样的:
const char *cstr = "bla"
std::vector<char> vec(cstr, cstr + strlen(cstr));
当然,知道长度就别去算了。
更常见的解决方案是使用 std::string
类:
const char *cstr;
std::string str = cstr;
关于c++ - 以高效的方式将 C 字符串转换为 std::vector<byte>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579521/