当前位置:编程学习 > C/C++ >>

C类型转换函数

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
补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,