手机
当前位置:查字典教程网 >编程开发 >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()函数的内部实现方法详解】相关文章:

基于C语言中段错误的问题详解

基于一致性hash算法 C++语言的实现详解

基于C++中sprintf的错误总结详解

string与char*转换的使用详解

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

将正小数转化为2-9进制小数的实现方法

基于C++ cin、cin.get()、cin.getline()、getline()、gets()函数的使用详解

C++中求组合数的各种方法总结详解

基于一个简单定长内存池的实现方法详解

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

精品推荐
分类导航