|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Confronto tra stringhe c/c++
Leggo in input il file AGENDA.txt.........
sia col turbo c++ 3.0 e vc 6.0 nessun errore.............ma non confronta la stringa nom con la stringa nome, dove se uguale dovrebbe avvertire che tale nome è presente in agenda!!!!!!! questo è il listato: .......inizializzo le variabili char nome[20]; char info[20]; char tele[20]; char nom[20]; char inf[20]; char tel[20]; ---------------------- //Routine di lettura input cout<<"Registrare i dati ? s/n "; cin>>ch; if (ch=='n') { } else { fstream fi; fi.open("AGENDA.txt",ios::in); while (!fi.eof()){ fi>>nom; if (nome==nom) {//...... quì non entra mai, ma col debug le variabili //sono identiche, tipo Nome=pippo e num=pippo estratto dalla lettura //del file cout<<"Nome presente in AGENDA...."; fi.close(); getch(); DisplayMenu(); return; } fi>>inf; fi>>tel; } fi.close(); fstream fo; fo.open("AGENDA.txt",ios::app); fo<<nome<<endl; fo<<info<<endl; fo<<tele<<endl; } //getch(); //waits for a key to be entered fine: DisplayMenu(); } |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Semplicemente perchè il confronto fra stringhe non si fa così...
nome==nom significia confrontare l'indirizzo a cui è allocato il primo carattere di ogni stringa... strcmp fa il confronto fra stringhe... if(strcmp(nome, nom)==0) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:34.


















