PDA

Visualizza la versione completa : [C/C++] Unire due stringhe


mamo139
11-03-2006, 14:02
se io ho

char prova[200]= "ciao, come va??";
char nome[200]= "Marco";

come posso unire le due strighe in modo che esca:

"ciao, Marco come va??" :confused:


grazie ciao :ciauz:

Samuele_70
11-03-2006, 14:06
Originariamente inviato da mamo139
se io ho

char prova[200]= "ciao, come va??";
char nome[200]= "Marco";

come posso unire le due strighe in modo che esca:

"ciao, Marco come va??" :confused:


grazie ciao :ciauz:

char str[230] = "ciao, ";
char nome[200] = "Marco";
char domanda[15] =" come va??";

strcat( str, nome);
strcat( str, domanda);

mamo139
11-03-2006, 14:21
grazie!!!
altra cosa davvero importante e che mi serve e sapere come poi cancellare una stringa.. ovvero azzerarla per poi scriverci dentro altro.. insomma in php basta $string=''; qui invece sembra piu difficile....

Samuele_70
11-03-2006, 14:50
Originariamente inviato da mamo139
grazie!!!
altra cosa davvero importante e che mi serve e sapere come poi cancellare una stringa.. ovvero azzerarla per poi scriverci dentro altro.. insomma in php basta $string=''; qui invece sembra piu difficile....
Cancellare una stringa?

char str[20] = "Ciao Samuele";
str[0] = '\0';
Di fatto è come fosse cancellata, se vogliamo dire così, ma bada che lo spazio ad essa riservato resta disponibile.

Diversamente per le stringhe allocate dinamicamente è possibile
anche rilasciare la memoria occupata.

gokuddf
11-03-2006, 15:13
Per azzerare una striga puoi fare in due modi:

1.

char stringa[] = "Ciao a tutti";

// pulisce al stringa con tutti i terminatori di fine riga
memset( stringa, '\0', strlen( stringa ) );

// poi rilasci la memoria allocata
free( stringa );

// e poi poni la stringa a NULL
*stringa = NULL;

e poi la puoi riallocare con malloc.


Diego

gokuddf
11-03-2006, 15:24
char stringa[] = "Ciao a tutti";

// pulisce al stringa con tutti i terminatori di fine riga
memset( stringa, '\0', strlen( stringa ) );

// poi rilasci la memoria allocata
free( stringa );

// e poi poni la stringa a NULL
*stringa = NULL;

e poi la puoi riallocare con malloc.



Scusate ho detto una minchiata galattica ....

si usa solo free che mette anche il riferimento a NULL, così lo puoi controllare dopo.
Poi si può usare malloc.

Diego :D

Loading