Strcmp
-
char End[3]; ... if ( strcmp( End, "zip" ) == 0 ){ .. }
während meines programmdurchlaufs wird in End genau "zip" reingeschrieben, alles klein und eigentlich sollte er jetzt ja ins if hüpfen. tut er aber nicht... jemand ne idee ^^?
-
okay habs mal versucht zu debuggen .. ürgentwie..
bei nem 3 zeichen langen char auf 3 zeichen überprüfen da gibt mir strcmp zurück...
cout << strcmp( End, "rar" );
output:
8
*hust*
-
char End[3];
kann niemals "zip" (-> 4 bytes) fassen.
es fehlt platz für \0.
aber End[4] wär auch noch lange keine sichere puffergröße...
-
Note that if str1 or str2 are missing a null-termination character, then strcmp() may not produce valid results. For a similar (and safer) function that includes explicit bounds checking, see strncmp().
-
char End[4]="zip"; if ( strcmp( End, "zip" ) == 0 ){ //Geht }