【发布时间】:2016-06-01 13:11:40
【问题描述】:
我通过使用 cin 获取用户输入,使用向量将 char* 存储在数组中。输入是循环接收的,在我显示输入之前一切正常。放入向量中的最后一个元素显示在所有索引中。即,如果我在循环中使用 cin 将字符串 "hello" "world" "this' "is" "C++" 放入。输出为 "C++ " 5 次。
代码如下。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
char *str=new char[10];
vector<char*> vec;
int i=0;
for( i=0; i<5; i++ )
{
cout<<"Enter string: ";
cin>>str;
vec.push_back(str);
}
for( i=0; i<5; i++ )
{
cout<<vec[i]<<" ";
}
return 0;
}
【问题讨论】:
-
使用 std::string 代替 char*