sizeof reserviert falsch
-
Hallo. Das ist wahrscheinlich ne einfache Frage aber ich habe trotzdem keine lösung dafür. Ich lern erst c++ un fang gerade mit dateizugriffen an. ich hab ein problem mit FileWrite bzw. sizeof weil irgendwie immer nur 4 byte reserviert und geschrieben werden in meinem programm:
int size, filehandle;
size = Edit1->GetTextLen(); //länge des textes ermitteln
size++;
char *buffer = new char[size]; //variablen Buffer erzeugen
Edit1->GetTextBuf(buffer, size); //In den Buffer inhalt von Edit1 schreiben
filehandle = FileCreate("c:\\test.txt"); //Datei erzeugen
FileWrite(filehandle, buffer, sizeof(buffer)); // schreiben des buffers in die datei
FileClose(filehandle); //Datei schliessen
delete [] buffer;wenn in dem Beispiel Edit1->Text z.B. "komisch" ist steht später in der datei nur "komi" un wenn ich im debuger nachschau liefert sizeof auch nur 4 byte als reservierung zurück. ich kann mir nicht erklären woran das liegt. sorry falls die frage schonmal wo beantwortet wurde. Mfg un danke für eure Hilfe.
-
sizeof(zeiger) liefert halt die Größe des Zeigertyps ... was auch sonst?
warum benutzt du nicht size als Größenangabe?
-
hm ok des wars dann schon
danke für deine hilfe funzt. ich hab mich da wohl irgendwie durch die hilfe(bsp. zu FileWrite)verwirren lassen...
-
ich kenn ja die Hilfe zu FileWriter nicht, aber vielleicht haben sie da Arrays verwendet:
char array[10]; // sizeof(array) => 10