如题所述
这里整理了一份简单的代码,源码如下:
#include <stdlib.h>
// 将字符串转化为整数
// @str 需要处理的字符串
// @splitChar 分隔符
// @return 返回整数
int specialConvert( const char* str,const char* splitChar )
{
const char *p = str;
char buffer[64]={0};
int i = 0;
while(*p )
{
if( *splitChar != *p )
{
if( i<64 )
{
buffer[i++] = *p;
}
else
{
break;// 这里暴力处理,可以从安全和扩展性丰富
}
}
*p++;
}
return atoi( buffer );
}
int main(int argc, char* argv[])
{
char str[]="1.2.3.0.2";
char splitChar='.';
printf("%s convert to num is %d\n",str,specialConvert(str,&splitChar) );
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-01-26
如果是有规律的点分字符串形式,可以利用这一点循环判断字符串,先把分隔符(这里是(.)点,太小了可能看不清)从字符串中分离出来,留下分隔符以外的东西。然后再用atoi函数从字符串转换成整数