atoi - Wo ist mein Fehler?
-
char koorX [4]; koorX[0] = '1' koorX[1] = '0' koorX[2] = '0' koorX[3] = '0'; x = atoi(koorX);
x ist dann 10001000 und nicht 1000.
Woran liegt das ?
-
Da fehlt die abschliessende 0 fuer die Zeichenkette.
char koorX [5]; koorX[0] = '1' koorX[1] = '0' koorX[2] = '0' koorX[3] = '0'; koorX[4] = 0; x = atoi(koorX);
-
-
Hmm, Mist hab ich nicht dran gedacht.
Danke.
-
Ich weiß aber nicht, wieso du es dir so kompliziert machst:
char koorX[5] = "1000";
Hm, reichen hier dann nicht [4] auch aus? Es müssen 5 sein, aber ist das immer so, dass man bei "" eins mehr bereitstellen muss?
MfG MAV
-
Ja das ist immer so. Der Compieler h?ngt dann noch ne '\0' dazu
damit er weiss wann der string zu ende ist.Einfacher geht wenn du das so machst:
char cVariable[]="Servus oder Moin";
dann brauchst du die Anzahl der Felder nicht anzugeben
mitint i=sizeof(cVariable);
hast du dann die Anzahl der felder.
P.S:Koriegiert mich wenn ich falsch liege.
P.P.S:Alles mit dem sch?nen Tutorial von Thron gelernt.Auf http://de.geocities.com/throni3/
-
Es geht auch so:
const char* str1 = "Hallo"; char* str2 = "Hallo";
Wobei die zweite Variante eher aus Kompatibilitätsgründen noch zu C++ zählt.