在C ++中将Character数组转换为整数数组

时间:2016-01-11 10:36:27

标签: c++ arrays char int

如何转换

char* string=new char[Length];

int* integer=new int[Length];

装置 如何在顶级代码中将字符串转换为整数

2 个答案:

答案 0 :(得分:0)

要将整个字符串转换为一个数字(也许你真的想要?),你应该使用atoi()函数

如果你想要一个数组,那么你就可以做一个简单的循环

for (int i=0; i < Length; i++)
    integer[i] = string[i] - '0';

答案 1 :(得分:0)

您可能希望拥有明确说明您正在做什么的代码。

var other = $(formalRequestReasonFieldId).find("option").filter(function() {
    return $(this).data('uid') == '154b2706-505e-401c-a066-a37a1889e3be';
});

alert(other.text()); // returns blank text
other.attr('selected', true); // does not work, no errors

编译后的代码应与Ilyases答案中的相同。不同之处在于说明意图。他的代码说&#34;迭代std::transform(std::begin(string), std::end(string), std::begin(integer), [](const char& c) -> int { return c - '0'; }); 并执行某些操作&#34;,而我的说法&#34;转换string的元素并将结果写入string&#34 ;

BTW。:请考虑使用integer而不是传统的动态数组。它使您不必自己进行所有内存管理,边界检查等。还要避免使用标准库中的类名作为变量名,因为这可能会导致混淆。 std::vector<>不是变量的好名称,string不是,至少它与typename integer不同。

int

如果auto myInputStr = std::vector<char>(Length); auto myInputAsInts = std::vector<int>(Length); 实际上是一个字符串,而不仅仅是其他无关字符的有序集合,则更喜欢myInputStr而不是std::string。如果您使用std::vector<char>std::transform(),则std::vector<char>的使用与上述相同。

std::string