PDA

View Full Version : (c/c++) Da int a char*


Aines
31-01-2006, 11:50
Domanda da principiante:

se ho un intero, come lo converto in char*

int n = 11;
char *c = ?n;

AnonimoVeneziano
31-01-2006, 11:52
Lo sai che non ha senso fare quella cosa , vero?


comunque :

c = (char *) n;

Ciao (e in bocca al lupo :D )

Aines
31-01-2006, 11:59
Suvvia, non sarò un prodigio ma non sono tanto sfaticato :P

Quel tentativo l'ho fatto, ma ottengo solo un Segmentation Fault, anche allocando prima la memoria per il puntatore.

AnonimoVeneziano
31-01-2006, 12:02
Suvvia, non sarò un prodigio ma non sono tanto sfaticato :P

Quel tentativo l'ho fatto, ma ottengo solo un Segmentation Fault, anche allocando prima la memoria per il puntatore.


Aspetta un attimo

Non ho capito cosa vuoi fare forse .

Quello che tu vuoi fare è fare in modo che il puntatore "*c" punti a quell' int?

In tal caso :

c = (char *) &n;

(Non che abbia molto + senso comunque :D )
Ciao

Aines
31-01-2006, 12:08
Mi sono spiegato male io; quello che vorrei ottenere è la rappresentazione della stringa "11" dato l'intero 11 (o qualsiasi altro intero ovviamente). Non è poi così insensato dai...

p.s: segmentation fault :P

gurutech
31-01-2006, 12:41
se non ricordo male devi usare la funzione
itoa
(integer to ascii)
di stdlib.h

AnonimoVeneziano
31-01-2006, 12:45
piuttosto che itoa è meglio usare sprintf .(Sulle manpage di Linux non le trovo, quindi forse c'è qualcosa che non va riguardo a quella funzione :/)

char c[numerocaratteri];

sprintf(c, "%d", n);

Ciao

ri
31-01-2006, 13:00
semplicemente itoa (e atoi) non è ansi-c

swarm
31-01-2006, 16:09
piuttosto che itoa è meglio usare sprintf .(Sulle manpage di Linux non le trovo, quindi forse c'è qualcosa che non va riguardo a quella funzione :/)

char c[numerocaratteri];

sprintf(c, "%d", n);

Ciao

io usa sempre itoa...

cmq nn volendo hai aiutato anche me, thanks :p

cionci
01-02-2006, 00:35
semplicemente itoa (e atoi) non è ansi-c
atoi è ANSI... itoa no ;)

ri
01-02-2006, 17:27
ecco ammetto di aver parlato senza controllare, per la itoa ero sicuro, per la atoi pensavo valesse la stessa cosa :asd: