- long long findFirstNumber(const char *str){
- if(str == NULL){
- return 0;
- }
-
- int flags = 0;
-
- if(str[0] == '-'){
- flags = 1;
- }
- int i = 0;
- long long sum = 0;
- bool findNum = false;
- while(str[i]){
- if(str[i] >= '0' && str[i] <= '9'){
- findNum = true;
- while(str[i] >= '0' && str[i] <= '9'){
- sum = sum * 10 + str[i] - '0';
- if(sum < 0){
- return 0;
- }
- i++;
- }
- }else{
- i++;
- if(findNum){
- break;
- }
- }
-
- }
- return flags?-sum:sum;
- }