你好,我有一个string类型数据,内容是"1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" 我要怎么去掉双引号、空格,使用C语言把它装换为int数组
时间: 2024-02-09 18:05:53 浏览: 65
你好!要将字符串中的双引号和空格去掉,并将其转换为int数组,可以按照以下步骤进行操作:
1. 创建一个int类型的数组,用于存储转换后的整数。
2. 使用strtok函数将字符串按照空格进行分割,得到每个数字的字符串形式。
3. 使用atoi函数将每个数字字符串转换为对应的整数,并存储到数组中。
4. 重复步骤2和步骤3,直到所有数字都被转换并存储到数组中。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "\"1\" \"2\" \"3\" \"4\" \"5\" \"6\" \"7\" \"8\" \"9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\"";
int arr[16];
int i = 0;
char* token = strtok(str, " ");
while (token != NULL) {
// 去掉双引号
char* numStr = strtok(token, "\"");
// 转换为整数并存储到数组中
arr[i] = atoi(numStr);
i++;
token = strtok(NULL, " ");
}
// 打印转换后的整数数组
for (int j = 0; j < i; j++) {
printf("%d ", arr[j]);
}
return 0;
}
```
运行以上代码,输出结果为:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
阅读全文