Stellen aus einem Array auslesen ?!
-
Hallo,
ich habe folgende Struktur :
struct test { char c1[2]; char c2[2]; bool b1; }
Nun möchte ich mittels der Funktion atoi() nur die beiden Charakter aus c1 bearbeitet haben. Wenn ich aber folgendes mache
int b = atoi(test.c1);
will diese Methode doch einen const char* haben, aber der weiß doch nicht wie lange das Array ist, deswegen arbeitet der doch dann mit c1+c2.
Kann ich das lösen ohne mir einen Hilfsarrayanzulegen ?
-
atoi erwartet ein string. ein string definiert sich dadurch, dass er mit 0 terminiert ist.
also musst du ihm auch einen string geben.
ansonsten wuerde ich die funktion einfach selber schreiben wobei du die groesse des arrays dann ja an die funktion uebergeben kannst.
ist ausserdem ne nette uebung!
-
Hi,
Shade hat ja schon alles gesagt, muss noch erwaehnt werden, dass in deinem
Fall 'test.xxx' nicht moeglich ist, da 'test' der Name deines structs ist.Du musst dir, bevor du damit arbeiten kannst, eine Instanz dieses structs
anlegen, bsp:struct test MeineInstanz;
mfg
v R
-
<klugscheiss>
struct test test;
ist legal
</klugscheiss>
-
Ich gebe mich geschlagen
mfg
v R