我试图获取字符串的一部分并将其放入int中。 例如:
button.wantsLayer = true
我想将char str[] = "bla bla bla 98";
int a;
放在98
中。我只能使用a
。
答案 0 :(得分:2)
这个简单的程序将演示如何在字符串str []中获得第一个遇到的整数。
可以重复使用函数ID | Description | ParentID
01 | Cat | 101
02 | Salmon | 201
03 | Dog | 101
101 | Mammals | 301
201 | Fish | 201
301 | Vertebrates | 401
401 | Animals |
来寻找更多数字。也可以识别负整数。
get_first_encountered_number(char *str, int *number);
输出:
#include <stdio.h>
#include <string.h>
int my_atoi(char *str)
{
int result = 0;
for (int i = 0; str[i] != '\0'; ++i)
result = result*10 + str[i] - '0';
return result;
}
char * get_first_encountered_number(char *str, int *number)
{
int i;
for (i=0; str[i]!=0; i++)
{
if ( (str[i] < '0') || (str[i] > '9'))
continue;
if( (i>0) && (str[i-1] == '-'))
*number = -my_atoi(&str[i]);
else
*number = my_atoi(&str[i]);
break;
}
return &str[i];
}
int main()
{
char str[] = "bla bla bla 98";
char str1[] = "bla bla bla -98";
int a;
get_first_encountered_number(str,&a);
printf("number= %d\n",a);
get_first_encountered_number(str1,&a);
printf("number= %d\n",a);
return 0;
}