c++ - 以高效的方式将 C 字符串转换为 std::vector<byte>

标签 c++ vector

我想将 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/

相关文章:

vector - 惯用地将空格分隔的字符串解析为不同类型元组的 Vec

android - 无法使用 libzip 和 FreeType 直接从 ZIP 加载 TTF 文件

c++ - 文件如何进入 Visual Studio C++ 中的外部依赖项?

c++ - Swift 中的 OpenCV HoughTransformation

c++ - 为什么这个 COM IUnknown::Release 的实现有效?

c++ - 如何像 future 一样为 C++ STL 模板文件生成标签文件?

c++ - Setter 不更改类中 vector 的数据

c++ - vector 的最小值显示为 0

r - 对向量元素进行向量化循环

c++ - vector 中的 vector - 更改特定元素