gpt4 book ai didi

c++ - 将 void* (char* without\0) 转换为 std::string

转载 作者:太空宇宙 更新时间:2023-11-04 14:43:57 25 4
gpt4 key购买 nike

我需要将 const void*(指向不带 '/0' 的 c 字符串)转换为 std::string。

我有函数“函数”:

void function(const void* ptr, size_t size);

有一个电话:

...
std::string x("abcd");
function(x.data(), x.size());
...

如何将“函数”中的第一个参数更改为 std::string?

(我知道它看起来很奇怪。我写了一个简单的例子。我想问一下转换。)

最佳答案

类型转换 void* 并将两个值传递给 std::string 构造函数:

void function(const void* ptr, size_t size)
{
std::string s(static_cast<const char*>(ptr), size);
...
}

关于c++ - 将 void* (char* without\0) 转换为 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26005670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com