C++ C++;打印从字符串转换的向量的内容

C++ C++;打印从字符串转换的向量的内容,c++,vector,C++,Vector,我遇到了一些问题,想弄明白为什么它不打印向量的元素(我通过转换输入字符串的内容创建向量) #包括 #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main(){ //生成输入行字符串 字符串输入线; 当你这样做时: vector<int> intvect(inputline.begin(), inputline.end()); 向量intvect(inputline.begin(),inputline.end()); 字符被逐个读取,其ASCII值存储在in

我遇到了一些问题,想弄明白为什么它不打印向量的元素(我通过转换输入字符串的内容创建向量)

#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
int main(){
//生成输入行字符串
字符串输入线;
当你这样做时:

vector<int> intvect(inputline.begin(), inputline.end());
向量intvect(inputline.begin(),inputline.end());
字符被逐个读取,其ASCII值存储在
intvect
中。ASCII值1为49,2为50,依此类推。这就是您所看到的输出

如果您将
向量
转换为
向量
,您将能够成功读取单个数字,但不能读取多个数字。例如,如果您输入11 12 13,则会将其视为1 12 13

您必须使用空格作为分隔符来分隔数字,然后将它们转换为整数并将它们输入int向量。

执行此操作时:

vector<int> intvect(inputline.begin(), inputline.end());
向量intvect(inputline.begin(),inputline.end()); 字符被逐个读取,其ASCII值存储在
intvect
中。ASCII值1为49,2为50,依此类推。这就是您所看到的输出

如果您将
向量
转换为
向量
,您将能够成功读取单个数字,但不能读取多个数字。例如,如果您输入11 12 13,则会将其视为1 12 13


您必须使用空格作为分隔符来分隔数字,然后将它们转换为整数并将它们输入到int向量。

看起来您正在从字符串构造int向量。该向量将字符的ASCII等价物存储在inputline中。“49 50 51”是输入“1 2 3”的ASCII值

下面的代码应该可以工作,其中使用Char的向量而不是INT

vector<char> intvect(inputline.begin(), inputline.end());

for (vector<char>::const_iterator iter= intvect.begin(); iter!= intvect.end(); ++iter)
cout << *iter << endl;
}
向量intvect(inputline.begin(),inputline.end()); 对于(向量::常量迭代器iter=intvect.begin();iter!=intvect.end();++iter)
cout看起来您正在从字符串构造INT向量。该向量存储inputline中字符的ASCII等效值。“49 50 51”是输入“1 2 3”的ASCII值

下面的代码应该可以工作,其中使用Char的向量而不是INT

vector<char> intvect(inputline.begin(), inputline.end());

for (vector<char>::const_iterator iter= intvect.begin(); iter!= intvect.end(); ++iter)
cout << *iter << endl;
}
向量intvect(inputline.begin(),inputline.end()); 对于(向量::常量迭代器iter=intvect.begin();iter!=intvect.end();++iter)
无法将vector intvec更改为vector intvec您打算如何使用
输入行。擦除(删除(…
)看看。您的期望是什么?“123”在单行上还是“1”“2”“3”在单行上?@user1438832和一些程序员感谢您将vector intvec更改为vector intvec您打算如何使用
输入行。擦除(删除(…
?看看。你的期望是什么?“123”在单行还是“1”“2”“3”在单行?@user1438832和一些程序员谢谢你