gpt4 book ai didi

qt - 如何最好地将 std::string_view 转换为 q QString?

转载 作者:行者123 更新时间:2023-12-05 02:02:01 25 4
gpt4 key购买 nike

我有一个库,它给我一个 string_view。将其放入 QString(而不是 QStringView)的最佳方法是什么?

我制作了 QString::fromStdString(std::string(key).c_str()),但这是最好的吗?

最佳答案

删除 c_str(),您不需要它,因为 fromStdString() 需要一个 std::string(因此姓名):

QString::fromStdString(std::string(key))

您也可以放弃显式字符串构造,因为 std::string 可以从 std::string_view 构造:

QString::fromStdString(key)

也就是说,如果 std::string_view 是空终止的(不能保证),您可以使用接受 QString 构造函数字符*:

QString(key.data())

或者,如果 std::string_view 是用 Latin-1 编码的,您可以使用:

QString::fromLatin1(key.data(), key.size())

或者,如果以 UTF-8 编码:

QString::fromUtf8(key.data(), key.size())

或者,如果在用户的默认语言环境中编码:

QString::fromLocal8Bit(key.data(), key.size())

关于qt - 如何最好地将 std::string_view 转换为 q QString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66074943/

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