整数向量

时间:2011-10-09 07:23:47

标签: c++ vector int

我想将矢量转换为整数。我可以使用

输出矢量
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。 谢谢大家的帮助,真的很感激。

4 个答案:

答案 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;