Meine Spielkondition funktioniert nicht! Kann jemand beraten, wie man mit C-artigen Zeichenfolgen vergleicht?
%Vor% Auch wenn temp
und data
übereinstimmen, funktioniert die folgende Bedingung nicht:
Nicht sicher, ob das hilft. Die Funktion SaveData()
wird von der folgenden Funktion aufgerufen:
Diese Bedingung funktioniert nicht, weil der Operator ==
nicht für char*
überladen ist.
Verwenden Sie dies stattdessen.
%Vor% strcmp()
gibt 0
zurück, wenn beide cstrings gleich sind. Stellen Sie sicher, dass beide Cstrings, die Sie zuordnen, einen legalen Speicher enthalten und am Ende null sind.
Bearbeiten:
Um jegliche Art von Ärger und Fehlern zu vermeiden, ist es ratsam, rohe char*
nicht zu verwenden und stattdessen std::string
zu verwenden. Also mach besser Strings und vergleiche sie.
Dieser Ansatz würde Ihnen viele Probleme ersparen.
Sie versuchen, zwei char * zu vergleichen. Sie können versuchen, strcmp(stpr, data)
zum Überprüfen der Bedingungen zu verwenden.
Besser verwenden Sie es wie
%Vor%