Komisches strcmp Verhalten
-
It0101 schrieb:
Der geneigte C-Hasser macht es natürlich mit einer Schleife und nicht mit solchem Teufelswerk wie memcmp
Nein, er benutzt C++11:
array<unsigned char,12> A = { "\x8B\xFF\x55\x8B\xEC\x83\x7D\x08\x00\x53\x56" }; array<unsigned char,12> B = { "\x8B\xFF\x55\x8B\xEC\x83\x7D\x08\x00\x53\xAA" }; if( A != B ) { cout<<"err"; }
-
Ja, das 0 Byte lol wieso hab ich das so ignorier. -.-
Naja^^ Danke
-
...
-
Swordfish schrieb:
... kann bis 11 zählen und benutzt uniform initialidingsti:
wenn er nicht gerade mit VS2012 arbeiten muss
-
STRCMP_FTL schrieb:
Ja, das 0 Byte lol wieso hab ich das so ignorier. -.-
Naja^^ Danke
Generell sollte man, wenn man, gerade im Binärdaten-Business, damit rechnen muss, dass überraschende 0-Bytes auftauchen, lieber von den String-Funktion auf die Mem-Funktionen umsteigen.
Aber gräme dich nicht... in die \0-Falle bin ich auch schon getappt, besonders wenn man der Meinung ist, dass strncmp garantiert N Zeichen vergleicht und sich dann hinterher davon überzeugen darf, dass dem nicht so ist
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum C (C89 und C99) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Gerade jetzt, wo hier mit STL-Arrays und Initialisierungslisten nur so herumgeschossen wird, verschiebt ihr das in die C-Ecke
-
...
-
Das kann ich auf jeden Fall befürworten
Das ist dann der Ort auf Erden wo man mit memset auf Vectoren losgehen darf
-
It0101 schrieb:
Gerade jetzt, wo hier mit STL-Arrays und Initialisierungslisten nur so herumgeschossen wird, verschiebt ihr das in die C-Ecke
Ich brauche eben meinen Schönheitsschlaf. Wenn in der Zwischenzeit ein C-Thread im C++-Forum schon C++'isiert wurde, kann ich auch nix mehr retten
.