005
09.11.2003, 22:10 Uhr
Pablo
Supertux (Operator)
|
char ist ein Datentyp, der nue ein Zeichen speichert.
ist falsch, weil a kein Pointer ist. Aber
ist richtig, das a nur ein Zeichen ist.
Um eine Zeichenkette zu speichern, muss man ein Pointer über char deklarieren (char*)
Es gilt:
Code: |
a[0] = 'H'; a[1] = 'a'; a[2] = 'l'; a[3] = 'l'; a[4] = 'o'; a[5] = '\0';
|
a zeigt auf 'H' aber wenn du std::cout << a; benutzt oder printf("%s", a); benutzt, oder string Funktionen benutzt, werden sie alle Zeichen nach 'H' ausgeben, bis sie das 0-terminierende Zeichen '\0' finden, dann wissen sie, wann die Zeichenkette fertig ist.
Tu was ich gepostst habe, ich würde aber an deiner Stelle std:.string nehmen, weil mit std::string die Problem mit der Länge des Arrays nicht hast, und brauchst du auch keine Copy-Ctors.
Bearbeitung: |
Mist, @beefy war wohl bisschen schneller
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 09.11.2003 um 22:10 Uhr von Pablo Yanez Trujillo editiert. |