Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C] conversione int -> stringa

    ciao,

    come converto il numero 10 nella stringa "10"?

    grazie

  2. #2
    1:
    codice:
       char buffer[20];
        sprintf(buffer, "%d", 10);
    2:
    codice:
       char buffer[20];
       itoa(10, buffer, 10);   // il primo dieci è il numero,
                               // il secondo è per la base (è un numero decimale)

  3. #3
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    Re: [C] conversione int -> stringa

    Originariamente inviato da matteolandi
    ciao,

    come converto il numero 10 nella stringa "10"?

    grazie
    char stringa [10];
    int * numero = $VALORE;
    sprintf ( stringa, "%d", numero );


    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  4. #4
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Originariamente inviato da SnakePlissken
    [B]
    2:
    codice:
       char buffer[20];
       itoa(10, buffer, 10);   // il primo dieci è il numero,
                               // il secondo è per la base (è un numero decimale)
    Non e' una funzione standard questa... Su molti sistemi non e' presente...
    Dato che esistono alternative e' meglio usarla il meno possibile
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  5. #5
    E' vero, c'hai ragione

  6. #6
    Originariamente inviato da /dev/null
    Non e' una funzione standard questa... Su molti sistemi non e' presente...
    Dato che esistono alternative e' meglio usarla il meno possibile
    infatti una bufferizzazione con la sprintf ad es è meglio e senza usare alcuna funzione

    Vediamo..sogni che diventano professione...passioni che diventano vita... Free as in Freedom...

  7. #7
    GRAZIE MILLE A TUTTI PER LE RISPOSTE
    CIAO

  8. #8
    Beh dato che quelle funzioni su alcuni sistemi potrebbero mancare, una funzione per la conversione è meglio se ce la facciamo:

    codice:
    char *intToStr(int num) {
    
    	char *n,i=0;
    	int div=1;
    	
    	n=(char *)malloc(sizeof(char)*100);
    	for(i=0;i<10;i++) n[i]=0;
    
    	if(num<=9 && num>=0) { n[0]=(char)(num+48);n[1]='\0'; return n; }    //se è un numero a singola cifra..
    	else {    //se è a più cifre
    		while(div<num)
    			div*=10;
    		div/=10;
    		
    		i=0;	
    		do {
    			n[i]=(num/div)+48;
    			num=num-div*(n[i]-48);
    			div/=10;
    			i++;
    		}
    		while(num>0);
    
    		return n;
    	}
    
    
    	return NULL;	
    
    }
    ciao ciao..
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.