设为首页 加入收藏

TOP

C类型转换函数
2013-10-14 09:11:54 来源: 作者: 【 】 浏览:276
Tags:类型 转换 函数

  1.字符串→整型

  [cpp]

  int atoi(char s[])

  {

  int i,n,sign;

  for(i=0;isspace(s[i]);i++)//skip front spaces

  ;

  sign=(s[i]=='-')? -1:1;

  if(s[i]=='+'||s[i]=='-')  //skip the sign

  i++;

  for(n=0;isdigit(s[i]);i++)

  n=n*10+(s[i]-'0');

  return sign*n;

  }

  2.整型→字符串

  [cpp]

  void itoa(int n,char s[])

  {

  int i,sign;

  if((sign=n)<0)

  n=-n;

  i=0;

  do{

  s[i++]=n%10+'0';

  }while((n/=10)>0);

  if(sign<0)

  s[i++]='-';

  s[i]='\0';

  reverse(s);

  }

  void reverse(char s[])

  {

  int c,i,j;

  for(i=0,j=strlen(s)-1;i<j;i++,j--){

  c=s[i];

  s[i]=s[j];

  s[j]=c;

  }

  }

  3.字符串→浮点

  [cpp]

  //atof:translate string into double float

  double atof(char s[])

  {

  double val,power;

  int i,sign;

  for(i=0;isspace(s[i]);i++)//skip space

  ;

  sign=(s[i]=='-')?-1:1;

  if(s[i]=='+'||s[i]=='-')

  i++;

  for(val=0.0;isdigit(s[i]);i++)

  val=val*10.0+(s[i]-'0');

  if(s[i]=='.')

  i++;

  for(power=1.0;isdigit(s[i]);i++){

  val=10.0*val+(s[i]-'0');

  power*=10.0;

  }

  return sign*val/power

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.2.3 C编程语言 下一篇C语言define用法详解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: