C语言string ,它里面的内容是"1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" ,如何去掉双引号和空格提取其中数字
时间: 2024-02-09 18:05:51 浏览: 74
要提取字符串中的数字并去掉双引号和空格,你可以使用C语言的字符串处理函数和循环来实现。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[] = "\"1\" \"2\" \"3\" \"4\" \"5\" \"6\" \"7\" \"8\" \"9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\"";
char result[16][3]; // 存储提取后的数字
int count = 0; // 数字计数器
// 使用strtok函数按空格分割字符串
char* token = strtok(str, " ");
while (token != NULL) {
// 去掉双引号
memmove(token, token + 1, strlen(token));
token[strlen(token) - 1] = '\0';
// 去掉空格
char* src = token;
char* dest = token;
while (*src) {
if (!isspace((unsigned char)*src)) {
*dest++ = *src;
}
src++;
}
*dest = '\0';
// 存储提取后的数字
strcpy(result[count], token);
count++;
token = strtok(NULL, " ");
}
// 打印提取后的数字
for (int i = 0; i < count; i++) {
printf("%s\n", result[i]);
}
return 0;
}
```
运行以上代码,你将得到以下输出:
```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
```
这样就成功提取了字符串中的数字并去掉了双引号和空格。
阅读全文