我想获取 std::string
的字符串在内存中占用的字节数,而不是字符数。该字符串包含一个多字节字符串。 std::string::size()
会为我做这个吗?
编辑:另外, size()
还包括终止 NULL
?
原文由 Stackoverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想获取 std::string
的字符串在内存中占用的字节数,而不是字符数。该字符串包含一个多字节字符串。 std::string::size()
会为我做这个吗?
编辑:另外, size()
还包括终止 NULL
?
原文由 Stackoverflow 发布,翻译遵循 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 阅读✓ 已解决
std::string
对字节进行操作,而不是对 Unicode 字符进行操作,因此std::string::size()
确实会以字节为单位返回数据的大小(没有std::string
需要存储的开销数据,当然)。不,
std::string
仅存储您告诉它存储的数据(它不需要尾随NULL
字符)。因此它不会包含在大小中,除非您明确创建一个带有尾随NULL
字符的字符串。