itoa

Stato
Discussione chiusa ad ulteriori risposte.

imported_nex

Utente Silver
1 Maggio 2009
0
0
0
55
Beh, un piccolo esercizio propostomi da blacklight era creare una funzione che passato come argomento un int esso restituisse il rispettivo in char*...
Dato che sfogliando le pagine non nè ho visto uno simile io lo proprongo a voi...

Esempio(in C): char* itoa(int num); /* num = 123 Out: = "123" */

My Solution:
Source
 
RE: [C]itoa

Forse non vale
Codice:
#include <iostream>
#include <sstream>

using namespace std;

const char* itoa_(int num);

int main() {
    string s = itoa_(230);
    cout<<s;
    return 0;
}

const char* itoa_(int num) {
    stringstream s;
    s<<num;
    return s.str().c_str();
}
#edit non avevo letto che bisognava farlo in C
fix
Codice:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

char* itoa_(int num);

int main() {
    char *s = itoa_(230);
    printf("%s",s);
    return 0;
}

char* itoa_(int num) {
    int inc=(int)log10(num)+1;
    char* d = (char*)malloc(sizeof(char)*inc+1);

    d[inc] = '\0';
    do {
        d[--inc] = (num%10)+48;
        num/=10;
    }while(num);

    return d;
}
 
Stato
Discussione chiusa ad ulteriori risposte.