selbst wenn in str "LOAD" absolut sicher steht wird das "Hier sollte eigentlich nichts stehen" rausgegeben und der rückgabe wert ist false. warum? -- Latein Unterricht ist die spätere Rache der Römer an den Germanen.
debian31lamp:/var/www# ./test Hier sollte eigentlich nichts stehen false true
-- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'Dieser Post wurde am 28.02.2007 um 20:17 Uhr von J-jayz-Z editiert.
if(strcmp(str,"LOAD") == 0) anstelle von if(str=="LOAD") sollte gehen.
andernfalls vergleichst du, ob es die selben instanzen sind. -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost)Dieser Post wurde am 28.02.2007 um 22:09 Uhr von Lensflare editiert.
und wie vergleicht man dann, ob es die selben Instanzen sind? -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost)
Das wäre in C der Fall, std::string hat operator== überladen - für eben diesen Fall. Was für einen Compiler nutzt du? -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
achja, stimmt ^^ -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost)