在字符串上迭代并填充C 中的数组
Iterate over a string and fill an array in C++
我正在处理此代码,该代码在这种情况下实际上是代表整数的字符串 - 并填充一个字符串的每个"数字"的数组。因此,字符串"350"
将导致具有元素{3,5,0}
的数组。这是代码:
#include <stdlib.h>
#include <iostream>
using namespace std;
int main() {
int arr[5];
string test = "10000";
for(unsigned int i = 0; i<test.length(); i++) {
char c = test[i];
cout << c << endl;
arr[i] = c;
}
//printing the array for testing
for (int i = 5 - 1; i >= 0; i--)
cout << arr[i];
return 0;
}
char c = test[i];
arr[i] = c;
}
return 0;
}
问题是由此产生的数组是{49,48,48,48,48}
。我不知道为什么它这样做以及我在何处出现了代码。为什么要添加数字49和48,我该如何修复?
另外,如果它有助于任何人,以下是指向通过代码运行的步进的链接:http://pythontutor.com/visualize.html#code=#Include
您在数组中看到的是插入字符的ASCII。这是您应该采取的措施将角色转换为整数: arr[i] = atoi(&c);
48和49是您在ASCII中的0和1。您需要从ASCII转换为数字。
您创建了arr
作为整数数组,因此,通过将字符元素分配给它,您将它们隐式地投入到整数中。当您执行此操作时,字符的ASCII值将被打印,而不是字符本身。您应该使用一系列字符。
char arr[5];
- 在c++中用vector填充一个简单的动态数组
- 如何使用用户输入在C++中正确填充2D数组
- 如何找到大小'x'数组是否完全填充,在C++?
- 如何正确填充在堆上分配的二维数组?
- 如何将零填充的多维数组传递给 C++ 中的函数?
- C++ 填充数组时遇到问题
- 数组填充了不正确的值
- 使用初始化列表填充C++中的多维结构数组时出现问题
- 用数据填充未指定大小的数组
- C++填充多维标准::数组
- 如何在 c++ 上将一定大小的数组填充到另一个更大大小的数组中?
- 有没有办法使用数组填充向量?
- 如何使用 PPM 格式的 uchar* 数组填充 QPixmap
- 在C 中动态分配的数组填充
- 使用数组填充对称矩阵
- C++中的{0}数组填充赋值
- 如何在OpenCV中用OpenNi的deepPixel数组填充矩阵
- 按行、列或随机从数组填充矩阵时出现错误索引问题
- 如何加快非顺序数组填充
- 将数组填充到最大值(memcpy vs vector)