hi leute, habe ein porblem mit itoa ich will einen int in char umkonvertieren um dann zu prüfen ob die int eingabe zwischen 0 und 9 liegt.
wenn ich das wie unten eingebe bekomme ich von meinem compiler (dev-c++ 4.9) die meldung "ISO C++ forbids comparison between pointer and integer" an der stelle des ifs schleifenkopfs
was mach ich falsch?
der soll nur bei einer eingabe von 0bis9 ok ausspucken und bei allem anderen ob zahl oder buchstabe ein falsch
Vergleich doch gleich i! Du kannst doch nicht einfach ein String mit ner Zahl Vergleichen. Wenn du das jetzt nicht einsiehst, fang noch mal von ganz vorn an.
schau dir mal ganz genau den zusammenhang zwischen int und char an!
C++:
#include <iostream>
int main(){ char c = 'a'; int i = c; cout << i << endl; //Ausgabe 97 }
wenn du den buchstaben 'a' als typ char speicherst, dann hat dieser automatisch den wert 97 und das ist überall so. egal ob du in deutschland, in der schweiz oder in polen lebst!
Nochmal zu meinem Beitrag: Du musst die Fehlermeldung die du hattest noch nicht verstehen. Das hast was mit Zeigern zu tun und kommt - falls du ein Buch oder sowas benutzt - erst viel später. Aber das was enriico geschrieben hat sollte dir schon klar sein.
Ansonsten solltest du C und C++ nicht mischen, stdio.h ist C und iostream ist C++. Wenn du wirklich den Inhalt eines char in ein int schieben willst, nimm dieses grandiose snippet von virtual ! -- 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"'
wenn du den buchstaben 'a' als typ char speicherst, dann hat dieser automatisch den wert 97 und das ist überall so. egal ob du in deutschland, in der schweiz oder in polen lebst!
Zitat von Pler:
@enriico guter Beitrag.
Aber leider so nicht richtig. Schau dir mal std::locale an und die Motivation die dahinter steht. Damit wollen die Standardburschis dem Umstand Rechnung tragen dass es eben auch noch andere Zeichensätze fernab von ASCII und Unicode geben könnte.
Gruss Spacelord -- .....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.