gpt4 book ai didi

c++ - 使用类似语义的 strndup 从 char[] 创建一个 std::string

转载 作者:行者123 更新时间:2023-12-04 07:39:59 30 4
gpt4 key购买 nike

我有一个

char txt_msg[80];
该数组最多可包含 80 个字符,例如不能保证有一个终止空值。但是,如果少于 80 个字符,则存在终止空值。
现在我正在使用它来从中获取 std::string :
std::string(txt_msg, txt_msg + ::strnlen(txt_msg, sizeof(txt_msg)));
创建一个 C++ 字符串,看起来有点冒犯。有没有更多的 C++y 方法来做到这一点?

最佳答案

我可能会做这样的事情:

char txt_msg[80];

auto s = std::string(std::begin(txt_msg), std::find(std::begin(txt_msg), std::end(txt_msg), '\0'));
std::find将返回第一个空终止符或数组末尾的位置。

关于c++ - 使用类似语义的 strndup 从 char[] 创建一个 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67537981/

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