PDA

Visualizza la versione completa : [C/C++]: Inserire interi in stringhe


devil89
06-07-2006, 17:23
Delle volte, creando dei programmi, avrei la necessita' di inserire degli interi in stringhe.
Per quando vado a stampare la stringa che li contiene, al loro posto trovo i simboli strani dell'ascii.

Se li inserisco cos funzionano:


chat str[4]={'a','5','1'};

Ma spesso voglio inserire il valore intero ritornato da una funzione in una stringa.
Esempio:


int code(char c) {
if(c=='a')
return 1;
else if(c=='b')
return 2;
}

int elabora(char *s) {
int i;
char stringa[10];
for (i=0; i<10; i++)
stringa[i] = code(s[i]);
}

Come posso risolvere?

devil89
07-07-2006, 09:33
:master:

Samuele_70
07-07-2006, 13:15
int code(char c)
{
if(c=='a')
return 49;
else if(c=='b')
return 50;
return c;
}

int elabora(char *s)
{
int i;
char stringa[10];
for (i=0; i<10; i++)
stringa[i] = code(s[i]);
printf("Stringa 2 = %s\n", stringa);
return 0;
}

Oppure, molto pi chiaro sarebbe :


char code(char c)
{
if(c=='a')
return '1';
else if(c=='b')
return '2';
return c;
}

devil89
07-07-2006, 13:19
Caspita. Non avevo pensato di mettere gli apicetti.
Che stupido! :dh:

Grazie mille

D4rkAng3l
07-07-2006, 19:52
mmm non s se c'entra molto ma la funzione itoa() mette un valoe intero in una string ami pare...tipo l'intero 500 e lui te lo mette in una stringa...prima locazione 5 seconda 0 terza 0 quarta \0

Loading