Verständnisfrage zu char* Zeigern
-
hallo zusammen
Ich verstehe folgenden Sachverhalt nicht:
Wenn ich einem Zeiger ein char-Array von 10000 Elementen übergebe und diesen Zeiger der MessageBox Funktion übergebe, wird gewöhnlich der komplette, im char Array enthaltene String angezeigt. Wenn aber den Zeiger z.B. um 10 erhöhe, wird nicht einfach der String des char - Arrays, ab dem 10. Element angezeigt, sondern irgendwelche komische Zeichen.
Zu sagen ist vielleicht noch, dass im String mehrmals "\r\n" vorkommt.Gruss
Ananke
-
Gib uns doch mal den Code den du dazu benutzt. Der erklaert oftmals besser als Worte, was du tust

-
es kann sein das dein string weniger als 10 zeichen hat, und wenn du dann den zeiger nach dem gültigen string setzt, werden bei der ausgabe nur die zufällligen werte ausgegeben, die in dem string vorhanden sind
bsp:
char str[1000] = "HALLO"; char *ptr; ptr = str; ptr += 10;in diesem fall ist der string nur 5 zeichen lang, das 6 ist ein \0. hinter der \0 terminierung stehen zufällige werte, die zuvor im hauptspeicher waren.
-
Also, danke erst Mal für die Antworten. Ich muss mir die Sache noch einmal genau anschauen, denn wenn ich ein normales, kleines Konsolenprogramm schreibe, klappt es...