Veröffentlicht 22. Juni 200619 j Ahoi, möchte die leeren (0x40) Zeilen eines Arrays löschen. Dazu habe ich eine Funktion, der ein Pointer auf das Array übergeben wird. Jetzt schreibe ich alles in der Funktion in ein Hilfsarray (ohne Leerzeichen), um dann alles ohne Leerzeilen mit memcpy() zurückzukopieren. Frage: Wie sieht der Rest "unterhalb" der Leerzeilen aus? Da wird dann ja wohlmöglich noch was drinstehen, da nicht das komplette Array überschrieben wird!? Wie krieg ich das sauber hin, dass hinter den gefüllten Zeilen in dem ursprünglichen Array nichts mehr steht. Gruß
22. Juni 200619 j Warum lässt du den Zeiger deines alten Arrays nicht einfachauf das neue zeigen? Du musst dann halt nur vorher den Speicher des alten freigeben, sofern du ihn selbst angefordert hast.
22. Juni 200619 j Das ändert ja nichts am ursprünglichen Problem. Ich verstehe allerdings nicht, warum 0x40 für "leer" steht, und wie ein Array Zeilen haben kann.
22. Juni 200619 j 0x40 ist hexadezimal für das leerzeichen, jedenfalls aufm host. bei einem arr[][] entspricht bei mir, um sich das ganze bildlicher vorzustellen, entsprechen die ersten [] den zeilen und die zweiten [] die, naja..., spalten. ist aber gar nicht das eigentliche problem.
22. Juni 200619 j 0x40 ist hexadezimal für das leerzeichen, jedenfalls aufm host.ASCII ist es jedenfalls nicht. ist aber gar nicht das eigentliche problem.Du hättest aber erwähnen können, dass es sich um ein zweidimensionales Array handelt Wie auch immer, du kannst nichts aus dem Array entfernen. Du kannst bestenfalls die letzten Zeilen als leer kennzeichen, z.B. indem du sie mit Leerzeichen auffüllst, oder eine Endemarkierung setzt (falls es so etwas in dieser Codierung gibt). Du kannst auch die neue Zeilenzahl einer anderen Variablen zuweisen und diese Information parallel zum Array mitschleppen.
22. Juni 200619 j ASCII ist es jedenfalls nicht. Es ist der EBCDIC-Zeichensatz. Und die Kodierung ist genau gleich, nur halt ein anderer Zeichensatz. Nun gut, dann werde ich mal versuchen das in die Tat umzusetzen. Gruß und Dank
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.