Einfache If-Anweisung will nicht
-
Hallo, folgender Problemfall:
char NmsaActive[2]; printf("Nmsa1 aktiv? [y/n]\n"); scanf("%s", &NmsaActive); if(NmsaActive == "y") { printf("Yes!!"); DateinamenSecond6[60]=".5620_act.nmsa1.html"; DateinamenSecond7[60]=".5620_ina.nmsa2.html"; }else { printf("No!!"); DateinamenSecond6[60]=".5620_ina.nmsa1.html"; DateinamenSecond7[60]=".5620_act.nmsa2.html"; }
..Zeigt er mir immer No!! an obwohl ich y eingebe.. wo liegt der Fehler?
LG Mike
-
strings vergleicht man nicht mit == sondern mit strcmp.
-
Danke !
-
Nach deinen bisherigen Beiträgen zu urteilen, hast du von der Stringverarbeitung in C eine falsche Vorstellung.
Vergiss in der Hinsicht die Erfahrungen von anderen Programmiersprachen.
Arrays (und somit Strings) sind in C anders.Auch solltest du darauf achten, wieviel Zeichen du in deinen Arrays einliest.
scanf("%1s", NmsaActive); ^ ^ | + Bei Arrays kommt da kein Adressoperator hin + Maximal ein Zeichen einlesen.
-
DirkB schrieb:
Nach deinen bisherigen Beiträgen zu urteilen, hast du von der Stringverarbeitung in C eine falsche Vorstellung.
Vergiss in der Hinsicht die Erfahrungen von anderen Programmiersprachen.
Arrays (und somit Strings) sind in C anders.Ja, du hast recht.. aber mittlerweile hat's Klick gemacht und ich tu mir leichter.. C ist auch einfach nicht so gedacht für Strings und String-Array's.. ist eher fuer Zahlen gedacht meiner Meinung nach.. LG und Danke