在C语言中,将字符转换为数据数组可以通过逐字符解析、使用标准库函数和自定义函数等方式实现。其中,逐字符解析是最常用的方式。下面将详细介绍逐字符解析的方法。
一、逐字符解析
逐字符解析方法是通过遍历字符串中的每个字符,将其转换为数字并存储到数据数组中。具体步骤如下:
1、定义数组和字符串
首先,需要定义一个字符数组(即字符串)和一个整数数组,用于存储转换后的数据。
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345";
int arr[5];
int i;
// 逐字符解析
for (i = 0; i < 5; i++) {
arr[i] = str[i] - '0';
}
// 输出结果
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
return 0;
}
解析:
- 定义字符串和数组:先定义一个字符数组
str
和一个整数数组arr
。 - 逐字符解析:通过遍历字符串,将每个字符转换为对应的整数,并存储在
arr
中。 - 输出结果:最后,输出转换后的数据数组。
2、处理含有非数字字符的字符串
如果字符串中含有非数字字符,可以使用条件判断进行过滤。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
char str[] = "1a2b3c4d5";
int arr[5];
int i, j = 0;
// 逐字符解析
for (i = 0; str[i] != '