如何将字符串放入整数数组c ++中

时间:2013-12-08 20:48:43

标签: c++ arrays string integer int

我有一个包含用户输入内容的字符串

string userstr = "";
cout << "Please enter a string ";
getline (cin, userstr);

然后将字符串存储在userstr中,然后我希望将字符串存储在整数数组中,其中每个字符都是数组中的不同元素。我创建了一个动态数组,如下所示:

int* myarray = new int[sizeof(userstr)]; 

但是,如何将我的字符串放入该数组?

4 个答案:

答案 0 :(得分:3)

int* myarray = new int[ userstr.size() ];

std::copy( usestr.begin(), userstr.end(), myarray ); 

终止零未附加到数组。如果你需要它,你应该分配具有一个元素的数组并自己放置终止零。

答案 1 :(得分:2)

您可以使用[]运算符访问字符串中的每个元素,该运算符将返回对char的引用。然后,您可以扣除char'0'的int值,您将获得正确的int表示。

for(int i=0;i<userstr.length();i++){
    myarray[i] = userstr[i] - '0';
}

答案 2 :(得分:0)

您只需使用isstringstream将字符串转换为int,如下所示

istringstream istringName(intString);
istringName >> real_int_val;

现在它神奇地变成了一个包含字符串中所有数字的int 但是我不明白为什么你不会在第一时间把它作为一个int?

答案 3 :(得分:-1)

这是一种方法

for(int i=0;i<userstr.length();i++){
    myarray[i] = userstr[i];
}