我想将矢量转换为整数。我可以使用
输出矢量vector <int> iV;
iV.push_back(3);
iV.push_back(8);
iV.push_back(6);
copy(iV.begin(),iV.end(),ostream_iterator<int>(cout,""))
但是我怎样才能把它变成一个int?
编辑:使用stringstream可以正常工作。 我确实希望通过cout看到它的样子。 我不想要int int int我的意思是单个int所以对于我的例子来说它将是一个等于386的int。 谢谢大家的帮助,真的很感激。
答案 0 :(得分:0)
将其写入stringstream,然后从中读取:
std::stringstream strStream;
copy(iV.begin(),iV.end(),ostream_iterator<int>(strStream,""));
int myInt;
strStream >> myInt;
答案 1 :(得分:0)
我不确定这是不是你的意思,但你可以做到:
int * ip = &iv[0];
然后访问ip[0]
,ip[1]
等
答案 2 :(得分:0)
int x;
for(vector<int>::const_iterator i = iV.begin(); i != iV.end(); i++)
x = *i;
答案 3 :(得分:0)
尝试这样的事情:
int total = 0;
for(vector<int>::const_iterator i = iV.begin(); i != iV.end(); ++i)
total = total*10 + *i;