gpt4 book ai didi

C++ - 将 BLOB 存储为字符串

转载 作者:太空狗 更新时间:2023-10-29 21:35:34 25 4
gpt4 key购买 nike

在 C++ 中可以将 BLOB 存储为字符串吗?我猜测 BLOB 中可能存在空字符,这可能导致 std::string 操作(如 len())失败。我正在尝试将位图存储为 BLOB。

最终我想将这个字符串存储到一个嵌入式数据库中并将该字符串读回 std::string

谢谢。

最佳答案

是的,这很好。 std::string 必须单独存储长度,因此它可以嵌入空字符。只要你有足够的内存,你可以把它存储在一个字符串中。

不过,您确实需要小心构造字符串。如果你只是使用像 std::string s = "Hello,\0 world!" 这样的东西,这是行不通的,因为从 char* 转换只会转到第一个空字符。然而,std::string s("Hello,\0 world!", 14); 工作正常。

当然,如果您使用data()c_str() 转换回char*,您需要确保你也捕获了长度。

关于C++ - 将 BLOB 存储为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42169231/

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