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ß Zitieren
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. Zitieren
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. Zitieren
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. Zitieren
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. Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.