Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Jul 2007
    Messaggi
    66

    [C] unire più stringhe

    ciao a tutti

    Io ho 3 stringhe
    "nomefile"
    un numero
    ".in"

    e devo farlo diventare
    nomefile1.in
    nomefile2.in
    etc...

    supponiamo che io il numero int lo abbia convertito in char

    come creo un funzione che dato il numero, mi restituisce questa stringa?

    grazie e ciao

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Usa la funzione sprintf (o una simile "sicura")

  3. #3
    quella di oregon va bene, in alternativa puoi usare la strcat , che ha proprio la funzione di concatenare le stringhe. Devi però fare attenzione ad allocare un buffer sufficiente a contenere tutte e tre le stringhe.

    codice:
    int main ()
    {
    	char *str1 = "nome_file";
    	char *str2 = "n";
    	char *str3 = ".in";
    
    	char *buf = malloc(strlen(str1)+strlen(str2)+strlen(str3));
    	
    	strcpy(buf, "");
    	strcat(buf, str1);
    	strcat(buf, str2);
    	strcat(buf, str3);
    
    	printf("%s\n", buf);
    
    	free(buf);
    	
    	return (0);
    }
    ciao
    sergio

  4. #4
    Alla malloc aggiungi un +1

    Modifca la prima strcpy con
    codice:
    	strcpy(buf, str1);
    ed elimina la prima strcat...
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    Originariamente inviato da Samuele_70
    Alla malloc aggiungi un +1
    certamente sì (stupido carattere di teminazione)
    ciao
    sergio

  6. #6
    Utente bannato
    Registrato dal
    Jul 2007
    Messaggi
    66
    Originariamente inviato da oregon
    Usa la funzione sprintf (o una simile "sicura")
    tra le altre, questa credo che sia la soluzione migliore

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.