将字符串推送到矢量并转换为int

时间:2013-03-11 18:09:07

标签: c++ type-conversion

我想读取一串数字然后将数字逐个推送到矢量。

string _inValue = "12345";
vector<int> _value;

void superint::setVector()
{
for(int i=0; i < _inValue.length(); ++i)
{
    _value.push_back(_inValue[i]);
}
}

我这样做是:我将推回'1'49)的ASCII值。我希望它具有值1

是使用_inValue[i]-48的最佳方法吗?

1 个答案:

答案 0 :(得分:4)

您需要减去ASCII“0”的值:

_value.push_back(_inValue[i]-'0');

这比使用像48这样的幻数更具描述性。