我想获取 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 回答1.3k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
4 回答835 阅读
1 回答909 阅读
1 回答941 阅读
1 回答711 阅读
1 回答811 阅读
std::string
对字节进行操作,而不是对 Unicode 字符进行操作,因此std::string::size()
确实会以字节为单位返回数据的大小(没有std::string
需要存储的开销数据,当然)。不,
std::string
仅存储您告诉它存储的数据(它不需要尾随NULL
字符)。因此它不会包含在大小中,除非您明确创建一个带有尾随NULL
字符的字符串。