C ++。 std :: string :: substr的错误?

时间:2016-04-22 12:09:23

标签: c++ string utf-8 ascii substr

我一直在使用C ++,并使用过std库;特别是方法string::substr

我在这个方法中发现了一些我想告诉你的错误。

  1. 对于字符串abcñ,对substr(0, 4)的调用会返回abc?
  2. 对于字符串abcç,对substr(0, 4)的调用会返回abc?
  3. 对于字符串abcñd,对substr(0, 5)的调用会返回abcñ
  4. 对于字符串abcçd,对substr(0, 5)的调用会返回abcç
  5. 我注意到这些测试中,奇怪的字符(例如ñç)占用了双倍大小。但是,string::substr不应该记住这个事实,或者使用不同的编码吗?在API中,没有方法可以使用不同的编码。

0 个答案:

没有答案