C ++子字符串返回错误的结果 [英] C++ substring returning wrong results
本文介绍了C ++子字符串返回错误的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个字符串:
std::string date = "20121020";
我在做:
std::cout << "** Date: " << date << "\n";
std::cout << "Year: " << date.substr(0,4) << "\n";
std::cout << "Month: " << date.substr(4,6) << "\n";
std::cout << "Day: " << date.substr(6,8) << "\n";
但是获取:
** Date: 20121020
Year: 2012
Month: 1020
Day: 20
请注意,月份应为 10
,而不是 1020
。位置是正确的,尝试一切,那就是它失败了?
Notice that month should be 10
, not 1020
. Positions are correct, tried everything, that is it failing?
推荐答案
std::cout << "Month: " << date.substr(4,6) << "\n";
第二个参数错误。
您可能需要:
std::cout << "Month: " << date.substr(4,2) << "\n";
这篇关于C ++子字符串返回错误的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文