|
|
发表于 2005-8-30 18:49:29
|
显示全部楼层
这个的关键是把字符的数字取出来...
我就写了这部分....
/*
* Complie the code under UNIX system,please.
* Author : missanda@hotmail.com 8907673
*
* $Header$
*
**/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
const char *str[] = {
"1222AAAAAAA",
"1333SSSSSSSS",
"1223DDDDDDDDDD",
};
int fetch_number(const char*s)
{
int i = 0;
char tmp[sizeof(int)*8];
if(!s){
fprintf(stderr,"%s failed - !s\n",__FUNCTION__);
return -EINVAL;
}
if(strlen(s)>sizeof(tmp)) {
fprintf(stderr,"%s failed - string is too long.\n",__FUNCTION__);
return -EINVAL;
}
bzero(tmp,sizeof(tmp));
for(i = 0;i<strlen(s);i++){
if( s <= '9' || s >= '0' ){
//is a number. ASCII code '0' -->> '9'
tmp = s;
continue;
}
break;
}
if( tmp[0] == 0x00 ){
fprintf(stderr,"%s failed - no one number found in string - \"%s\"\n",__FUNCTION__,s);
return -EINVAL;
}
return atoi(tmp);
}
int main(int argc,char**argv)
{
char *res[sizeof(str)];
int i = 0;
int min = 0;
#if 0
//debug fetch_number
printf("%s == >> %d\n",str[0],fetch_number(str[0]));
#endif
return 0;
} |
|