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

how to put a string into an integer array c++

本文关键字:一个 整数 数组 c++ 字符串      更新时间:2023-10-16

我有一个字符串,其中包含用户输入的

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

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

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

但是,如何将字符串放入该数组中呢?

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

for(int i=0;i<userstr.length();i++){
    myarray[i] = userstr[i] - '0';
}
int* myarray = new int[ userstr.size() ];
std::copy( usestr.begin(), userstr.end(), myarray ); 

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

您可以简单地使用isstringstream将字符串转换为int,如下所示

istringstream istringName(intString);
istringName >> real_int_val;

现在它神奇地变成了一个包含字符串中所有数字的int然而,我不明白为什么你一开始就不把它作为int??

以下是的一种方法

for(int i=0;i<userstr.length();i++){
    myarray[i] = userstr[i];
}
相关文章: