C / C ++库带有两个函数,即“ itoa”和“ atoi”-前者将整数值转换为字符数组。后者反之亦然,其中包含数字值的字符串数组。这两个函数中的数值都可以是正整数或负整数。
我实现了以下功能: itoa功能
#include <iostream>
#include <algorithm>
void my_itoa(int num, char* str)
{
bool isNeg=false;
if(num < 0)
isNeg = true;
int idx = 0;
do {
int j = num % 10;
j = j < 0 ? j * -1 : j ;
str[idx++]=j+48;
num=num/10;
} while (num!=0);
if(isNeg)
str[idx++]='-';
str[idx]='\0';
std::reverse(str, str+idx);
}
atoi功能
void my_atoi(char* str,int& i)
{
bool isNeg = false;
if(*str == '-') {
isNeg=true;
str++;
}
i=0;
while(*str!='\0') {
i =i*10 + (*str - 48);
str++;
}
if(isNeg)
i=i*-1;
}
驱动程序代码
int main()
{
char str[100];
my_itoa(-1234, str);
std::cout << "Str =" << str << std::endl;
int j=0;
my_atoi(str,j);
std::cout << "j= " << j << std::endl;
return 0;
}
我想看看我如何获得它们的生产质量代码-因为以上内容的性能并没有真正达到标准库的标准。