我在一个 C++ 非托管项目中工作。
我需要知道如何获取像“一些要加密的数据”这样的字符串并获得一个字节 [] 数组,我将使用它作为 Encrypt 的源。
在 C# 我做
for (int i = 0; i < text.Length; i++)
buffer[i] = (byte)text[i];
我需要知道的是如何做同样的事情,但使用非托管 C++。
谢谢!
原文由 Vic 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在一个 C++ 非托管项目中工作。
我需要知道如何获取像“一些要加密的数据”这样的字符串并获得一个字节 [] 数组,我将使用它作为 Encrypt 的源。
在 C# 我做
for (int i = 0; i < text.Length; i++)
buffer[i] = (byte)text[i];
我需要知道的是如何做同样的事情,但使用非托管 C++。
谢谢!
原文由 Vic 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能会使用 基于范围的 for 循环,如下所示:
std::vector<std::byte> getByteArray(const string& str)
{
std::vector<std::byte> buffer;
for (char str_char : str)
buffer.push_back(std::byte(str_char));
return buffer;
}
原文由 user11262312 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答2.7k 阅读✓ 已解决
如果您只需要只读访问权限,那么
c_str()
会这样做:如果您需要读/写访问权限,则可以将字符串复制到向量中。向量为您管理动态内存。然后,您不必弄乱分配/解除分配: