字符串数组如何改造为整数数组
时间: 2024-10-09 10:05:34 浏览: 34
要将一个字符串数组转换为整数数组,你需要遍历字符串数组,对于每个元素解析其内容并将其转换为整数类型(如`int`)。这里有一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 假设str_array[]是一个已知长度的字符串数组,且只包含数字字符串
char str_array[5] = {"10", "20", "30", "40", "50"};
// 定义一个等长的整数数组
int num_array[5];
// 函数用于从字符串转为整数
int string_to_int(const char* str) {
int num;
if (sscanf(str, "%d", &num) == 1) { // sscanf用于安全地从字符串读取整数
return num;
} else {
printf("Invalid number in the string array!\n");
return -1; // 或者在这里处理错误情况,比如返回一个默认值或抛出异常
}
}
// 将字符串数组转换为整数数组
void convert_string_to_int(int* num_array, const char* str_array[], size_t len) {
for (size_t i = 0; i < len; i++) {
num_array[i] = string_to_int(str_array[i]);
}
}
int main() {
convert_string_to_int(num_array, str_array, sizeof(str_array) / sizeof(str_array[0]));
// 输出结果
for (size_t i = 0; i < len; i++) {
if (num_array[i] != -1) { // 检查是否成功转换
printf("%d ", num_array[i]);
}
}
return 0;
}
```
在这个例子中,`convert_string_to_int`函数负责将字符串转换成整数,并存入相应的整数数组`num_array`中。如果遇到无效的数字字符串,函数会返回错误码 `-1`。
运行这个程序后,你会得到一个整数数组,其中包含了原始字符串数组中的数值。
阅读全文