Dein Problem ist nur die Folge eines früheren Fehlers.
Strings sind immer null terminiert. Wenn du das abschließende null
Zeichen nicht mit ins Array geschrieben hast, hast du schon im Vorfeld
den String kaputt gemacht.
> wenn ich den Inhalt von ch alles mit Integer 0 fülle
Sicher funktioniert das als Workaround, aber es ist keine saubere
Lösung. Würdest du das auch mit Strings machen, die mehrere Megabytes
lang werden dürfen? Sicher nicht.
Jede Funktion, die Strings verarbeitet, schließt entweder auch das
terminierende null Zeichen ein oder liefert die Länge des Strings. Diese
Längenangabe kann man verwenden, um gezielt ein einziges null an die
richtige Stelle zu schreiben.
> Was ist denn so schwer an Ctrl-V, Ctrl-C?
Das ist bestimmt wieder ganz geheim. Ich musste letzte Jahr mal eine
Geheimhaltungsklausel erenut unterschrieben, weil es dem Auftraggeber
super wichtig war, daß das 400 Byte kleine Programm niemand zu sehen
bekommt. So ein Bohei, als ob man damit die Welt erobern könnte.