006
06.12.2003, 23:00 Uhr
Pablo
Supertux (Operator)
|
Nein, alle! Was ich nicht weiß, was in den restlichen Bytes steht, vielleicht Müll. oder wenn du etwas mit einem kleinern Text überschreibst, enthlaten sie die Zeichen der alten Zeichenfolge. \0 sorgt nur dafür, dass Funktionen für printf usw. erkennen können, wann die Zeichenkette fertig ist. Probiere mal folgendes:
C++: |
#include <stdio.h> #include <string.h> int main() { int i; char x[10]; strcpy(x, "012345678"); printf("%s\n",x); x[5]=0; // ist gleich wie ='\0'; printf("%s\n",x); for(i=0;i<10; ++i) printf("%c, ", x[i]); printf("\b \n"); return 0; }
|
Ich habe so on the fly gemacht, noch nicht getestet, ich würde sagen, du bekommst:
Code: |
012345678 01234 0,1, 2, 3, 4, , 6, 7, 8, ,
|
Bearbeitung von Pablo: |
Ganz genau, wa sich mir vorgestellt habe. Ich habe schon getestet und bekomme beim Ausführen:
Code: |
012345678 01234 0, 1, 2, 3, 4, , 6, 7, 8, ,
|
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 06.12.2003 um 23:08 Uhr von Pablo Yanez Trujillo editiert. |