源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

基于atoi()与itoa()函数的内部实现方法详解

  • 时间:2021-05-28 06:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:基于atoi()与itoa()函数的内部实现方法详解
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用[b]itoa()函数将整数转 换为字符串的一个例子: [/b][b]       atoi     把字符串转换成整型数        itoa     把一整数转换为字符串 [/b]
[u]复制代码[/u] 代码如下:
 #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+'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"); }  
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部