我一直在使用C ++,并使用过std
库;特别是方法string::substr
。
我在这个方法中发现了一些我想告诉你的错误。
abcñ
,对substr(0, 4)
的调用会返回abc?
。abcç
,对substr(0, 4)
的调用会返回abc?
。abcñd
,对substr(0, 5)
的调用会返回abcñ
。abcçd
,对substr(0, 5)
的调用会返回abcç
。我注意到这些测试中,奇怪的字符(例如ñ
或ç
)占用了双倍大小。但是,string::substr
不应该记住这个事实,或者使用不同的编码吗?在API中,没有方法可以使用不同的编码。