Comparazione tra sringhe con strutture

di il
3 risposte

Comparazione tra sringhe con strutture

Salve, devo comparare due stringhe usando la strcmp(str1,str2), la prima è un variabile di una struttura mentre la seconda è una variabile di tipo char standard, dopo l'esecuzione non li compara o meglio, non restituisce il valore 0 anche se immetto la stessa stringa.
A questo punto penso che non si possano comparare stringhe quando una di essa è alli'interno di una sruttura.
Allego il frammento di codice:

for(i=0; i<cou; i++){
	
						if(strcmp(A[i].nome,nome)==0){
	
						cout<<"nome da modificare= "<<A[i].nome;
						break;	
						}
						else{
							cout<<"nome non trovato";
							break;
						}
					
				}

3 Risposte

  • Re: Comparazione tra sringhe con strutture

    Puoi fare tranquillamente quel controllo.

    Ma se alla prima else esci dal ciclo è ovvio che non verranno controllate tutte le stringhe dell'array di strutture
  • Re: Comparazione tra sringhe con strutture

    oregon ha scritto:


    Puoi fare tranquillamente quel controllo.

    Ma se alla prima else esci dal ciclo è ovvio che non verranno controllate tutte le stringhe dell'array di strutture
    perfetto risolto grazie mille
  • Re: Comparazione tra sringhe con strutture

    Il tuo codice oltre che incompleto (mancano le definizioni) e' codice c++, direi inutile per questo caso. strcmp compara 2 array di char, ovvero 2 "C" string.

    Non ci sono le definizioni, ma supponendo siano 2 array di char regolari, strcmp dovrebbe funzionare.
    Forse ti mancava solo un "\n" alla fine del cout, o piu c++ style, un << std::endl;
    Senza quello, la riga non viene stampata.

    Ciao
Devi accedere o registrarti per scrivere nel forum
3 risposte