View Full Version : [C]- Confronto tra stringhe contenenti anche spazi
Salve..
vorrei trovare un modo per confrontare due stringhe, considerando di avere la seguente situazione:
stringa1=Ciao (letta da scanf)
stringa2=Ciao+[un certo numero di spazi]+\0
Come posso farle risultare uguali? Dovrei, in qualche modo, togliere gli spazi ed avere quindi stringa2=Ciao\0 ?
come si fa??
GRAZIE
ciao :D
innanzi tutto in C le stringhe sono vettori di caratteri e non puoi eliminare singoli caratteri (sorry per il gioco di parole..:p :p ): normalmente hanno una lunghezza fissa dall'inizio del programma fino alla sua terminazione.
Per il tuo problema potresti fare così:
trovi la lunghezza (che chiamiamo con lung_str1) di "stringa1" con la funzione strlen(stringa1) che trovi nella libreria <string.h>;
successivamente assegna alla posizione "lung_str1" della "stringa2" il carattere terminatore '\0';
a questo punto la stringa "stringa2" verrà visualizzata come la "stringa1" (ovviamente se le stringhe sono uguali per la parte presa in considerazione);
Spero di essere stato chiaro.. ciao:) :)
sisi.. avevo già presente di che tipo fossero e infatti hanno già una dimensione (21 caratteri).. mi sfuggiva il come confrontarli... provo questa tua soluzione e ti faccio sapere.. grazie mille
P.s.
il problema è il seguente.. la stringa da cui "stroncare" gli zeri fa parte di una struttura.. andrebbe bene qualcosa del tipo
vett[i].marca[lung_str1]='\0' ??
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.