手机
当前位置:查字典教程网 >编程开发 >C语言 >基于atoi()与itoa()函数的内部实现方法详解
基于atoi()与itoa()函数的内部实现方法详解
摘要:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转换为字符串的一个例子...

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

atoi 把字符串转换成整型数

itoa 把一整数转换为字符串

复制代码 代码如下:

#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]='';

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("%dn",my_atoi("123"));

system("pause");

}

【基于atoi()与itoa()函数的内部实现方法详解】相关文章:

基于稀疏图上的Johnson算法的详解

C++ 关于STL中sort()对struct排序的方法

解决C++ 无法从void 转换为LRESULT的方法详解

c语言中 基于随机函数的使用详解

string与char*转换的使用详解

深入理解atoi()与itoa()函数的用法

基于C++字符串替换函数的使用详解

基于结构体与指针的详解

基于C中一个行压缩图的简单实现代码

c++大数阶乘的实现方法

精品推荐
分类导航