barney_gumble1 Geschrieben 22. Juni 2006 Geschrieben 22. Juni 2006 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ß
Guybrush Threepwood Geschrieben 22. Juni 2006 Geschrieben 22. Juni 2006 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.
Klotzkopp Geschrieben 22. Juni 2006 Geschrieben 22. Juni 2006 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.
barney_gumble1 Geschrieben 22. Juni 2006 Autor Geschrieben 22. Juni 2006 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.
Klotzkopp Geschrieben 22. Juni 2006 Geschrieben 22. Juni 2006 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.
barney_gumble1 Geschrieben 22. Juni 2006 Autor Geschrieben 22. Juni 2006 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden