• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C++ atoi() 与 itoa()函数的内部实现代码

OC/C/C++ 水墨上仙 2252次浏览

C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子:
atoi 把字符串转换成整型数
itoa 把一整数转换为字符串
转自:www.software8.com

#include "stdio.h"  
#include "ctype.h"  
#include "stdlib.h"  
 
/*
Converts a character string into an int or long
将一个字符串转化为整数
*/ 
int my_atoi(char s[]) 
{ 
    int i,n,sign; 
 
    for(i=0;isspace(s[i]);i++);   //跳过空白  
 
    sign=(s[i]=='-')?-1:1; 
    if(s[i]=='+'||s[i]==' -')     //跳过符号位  
        i++; 
    for(n=0;isdigit(s[i]);i++) 
        n=10*n+(s[i]-'0');        //将数字字符转换成整形数字  
    return sign*n; 
} 
 
/*
Converts an int or long into a character string
将一个整数转化为字符串
*/ 
void my_itoa(int n,char s[]) 
{ 
   int i,j,sign; 
    if((sign=n)<0)    //记录符号  
        n=-n;         //使n成为正数  
    i=0; 
    do{ 
       s[i++]=n%10+'0';    //取下一个数字  
    }while((n/=10)>0);      //循环相除  
    if(sign<0) 
        s[i++]='-'; 
    s[i]='\0'; 
   for(j=i-1;j>=0;j--)        //生成的数字是逆序的,所以要逆序输出  
        printf("%c",s[j]); 
} 
 
void main() 
{ 
    int n; 
    char str[100]; 
   my_itoa(-123,str); 
    printf("\n"); 
    printf("%d\n",my_atoi("123")); 
    system("pause"); 
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C++ atoi() 与 itoa()函数的内部实现代码
喜欢 (0)
加载中……