自己编写代码实现atoi和itoa函数的功能
来源:互联网 发布:网站数据库上传 编辑:程序博客网 时间:2024/04/29 13:51
自己编写代码实现atoi和itoa函数的功能
1. atoi(ascii to integer)函数:把字符串转换成整形数的一个函数,检测到非数字字符时停止转换。
atoi函数的实现代码:
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 1024
int my_atoi(char *ptr)
{
int i,k = 0;
int flag = 1;
int len = strlen(ptr);
int result = 0;
if(*ptr == '-') //判断是否为负数
{
flag = -1;
ptr++;
}
for(i = 0; i < len; i++)
{
if(ptr[i] >= '0' && ptr[i] <= '9') //限制输入的字符为数字
{
k = ptr[i] - '0'; //将字符转换为数字
result = result*10 + k; //按位相加
}
else
{
break;
}
}
return result * flag;
}
int main()
{
char ptr[MAX_SIZE];
int sum=0;
printf("please input a string:");
scanf("%s",ptr);
sum = my_atoi(ptr); //调用函数
printf("The result of str to num is: %d\n",sum);
return 0;
}
2. itoa函数:将任意类型的数字转换为字符串
itoa函数的实现代码:
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 1024
char *my_itoa(int num)
{
int i = 0;
static char s[MAX_SIZE] = {0};
int len = 0;
int temp = 0;
while(num != 0)
{
s[i] = (num % 10) + '0'; //取余分离出整数的最低位,再转化为字符
num = num/10; //依次分离个十百千...位
i++;
}
s[i] = '\0';
len = strlen(s);
for(i = 0; i < len/2 ; i++) //逆序输出
{
temp = s[i];
s[i] = s[len - 1 - i];
s[len - 1 - i] = temp;
}
return s;
}
int main()
{
int num;
printf("please input a num:\n");
scanf("%d",&num);
char *result = my_itoa(num); //调用输出
printf("the string is: %s\n",result);
return 0;
}
- 自己编写代码实现atoi和itoa函数的功能
- 自己编写代码实现atoi和itoa函数的功能
- C函数atoi,itoa的实现代码
- atoi和itoa函数的实现
- atoi和itoa函数的实现方法
- atoi和itoa函数的实现
- 【练习题】atoi和itoa函数的实现
- atoi和itoa函数的实现方法
- itoa和atoi函数的实现
- atoi和itoa函数实现
- 实现函数atoi和itoa
- atoi和itoa函数实现
- itoa()和atoi()函数实现
- 自己写的atoi函数和itoa函数
- 自己实现C语言atoi函数和线程安全版的itoa函数
- 函数atoi,itoa 的实现
- 函数atoi,itoa 的实现
- C语言基础-itoa和atoi函数的使用和自己实现
- 深度学习-LSTM网络-代码-示例
- 互联网创业如何更好的规划商业模式
- Flex布局
- Unchecked cast: 'java.lang.Object' to 'java.util.List<java.lang.xxx>'
- linux查看文本行号
- 自己编写代码实现atoi和itoa函数的功能
- ffmpeg下载地址
- OpenSSL
- 解析苹果官方例子-tableview中图片懒加载
- 全面解析java注解
- android4.0.3添加 Ethernet框架支持
- 线程池
- 欢迎使用CSDN-markdown编辑器
- android中wifi原理及流程分析(很经典)