Ich hab einen Kommandozeilenparser der mit der Funktion strtok() einen Vergleich mit den einzelnen gefundenen Ergebnissen durchführen soll.
Im Debugger sieht alles schön aus, d.h. unter result steht mein Einzelstring. Allerdings scheint es so zu sein, daß aus irgendeinem Grund ein Vergleich nicht möglich ist. Jedenfalls funktioniert die Zeile:
if (result == "Hallo") cout<<"Beispiel2: Hallo gefunden!\n"<<endl; nicht. Weiß jemand warum das so ist und wie ich das umgehen kann?
Code:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char delims[] = "-";
char *lpCmdLine = "-Hallo";
char *result = NULL;
result = strtok( lpCmdLine, delims );
if (result != NULL)
{
while( result != NULL )
{
if (result == "Hallo") cout<<"Beispiel2: Hallo gefunden!\n"<<endl;
if (*result == 'H') cout<<"Beispiel2: H gefunden!\n"<<endl;
result = strtok( NULL, delims );
};//while ende
}//if result ende
system("PAUSE");
return EXIT_SUCCESS;
}
Im Debugger sieht alles schön aus, d.h. unter result steht mein Einzelstring. Allerdings scheint es so zu sein, daß aus irgendeinem Grund ein Vergleich nicht möglich ist. Jedenfalls funktioniert die Zeile:
if (result == "Hallo") cout<<"Beispiel2: Hallo gefunden!\n"<<endl; nicht. Weiß jemand warum das so ist und wie ich das umgehen kann?