gpt4 book ai didi

c - 需要从删除空格和字母的字符串中获取多个数字输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:59:44 24 4
gpt4 key购买 nike

我正在编写一个程序,我将字符串作为输入,在这里我需要删除空格,忽略字母并仅使用数字。

我能够实现删除空格和字母,但我只能使用单个数字,不能使用多个数字。

示例:输入字符串:"adsf 12af 1 a123c 53c2m34n"

在这里,我需要将输入用作我的应用程序所需的“12 1 123 54234”。

有人可以分享其逻辑或示例代码会很棒。

提前致谢

最佳答案

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int pullOut(const char *str, int array[], int *size){
const char *p = str, *endp;
int pull, count = 0, max = *size, num;

do{
endp=strchr(p, ' ');
if(endp == NULL)
endp=strchr(p, '\0');

for(num=pull=0; p != endp; ++p){
if(isdigit(*p)){
num = num * 10 + *p - '0';
pull = 1;
}
}
if(pull && count < max)
array[count++] = num;

while(*p == ' ')
++p;//skip sapce
}while(*endp != '\0');

return *size = count;
}

int main(void){
char input[] = "adsf 12af 1 a123c 53c2m34n abc def";
int i, arr[128] = { 0 }, arr_num = sizeof(arr)/sizeof(int);

pullOut(input, arr, &arr_num);

for(i = 0; i < arr_num ; ++i)
printf("%d\n", arr[i]);

return 0;
}

关于c - 需要从删除空格和字母的字符串中获取多个数字输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17726060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com