//提取字符串中的整数
#include<stdio.h>
//调用库函数实现
#include<stdlib.h>
void string_extract_int(char *str,int numbers[]);
void main(){
//定义需要提取的字符串
char *str="11a22b33,,44//55zz66aa77fg88h99j1010";
//定义整型数组用于存储的整数
int numbers[100] = {0};
// printf("%s\n",str);
// printf("%d\n",atoi(str+3));
string_extract_int(str,numbers);
for(int i = 0; i < 10 ;i++){
if(numbers[i] > 0 )
printf("%-5d",numbers[i]);
}
}
void string_extract_int(char *str,int numbers[]){
//数组下标变量
int n = 0;
//用于记录数字字符长度的变量
int temp = 0;
for(int i = 0 ; str[i] != '\0' ; i++){
//判断是否为数字
if(str[i] >= '0' && str[i] <= '9'){
temp++;
//判断i+1的字符是否为数字,不是数字就开始转换
if(str[i+1] > '9' || str[i+1] < '0'){
//将指针指向数字字符串开头,返回值赋值给数组
numbers[n++] = atoi(str+i-temp+1);
//循环结果测试打印
//printf("%s\n",str+i-temp+1);
//清空temp
temp = 0;
}
}
}
}
C语言 提取字符串中的所有整数
最新推荐文章于 2024-05-06 21:41:01 发布