天天看點

ltoa 實作 長整型轉化為字元串 源碼(類似itoa)

#include<iostream>
#include <string.h>
using namespace std;


char *ltoc(long a,char *s)
{
    if (s == NULL)
    {
        return 0;
    }
    unsigned long b;
        if (a == LONG_MIN)
    {
        b = LONG_MAX + 1UL;
    }
    if (a<0)
    {
        b = -a;
    }
    else
    {
        b=a;
    }
    *--s = '\0';
    do
    *--s = b%10 +'0';
    while ((b/=10) >0);
    
    if (a < 0)
    {
        *--s ='-';
    }
    return s;
}
int main(int argc , const char * argv[])
{
    long a = -9876543210;
    char *b =new char[43];
    b =  ltoc(a, b);
    cout<<b;
    return 0;
}