怎么用C语言实现把1.2.3.4转换成整数1234

如题所述

这里整理了一份简单的代码,源码如下:


#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函数从字符串转换成整数