Hey,
ich würde gerne wissen, wie ihr Strings miteinander zur Laufzeit verbindet.
Zur Laufzeit lese ich mehrere Strings unbekannter Länge ein (maximum 254 + '\0'). Diese Strings verbinde ich zu einem großen. Die Strings benötige ich danach nicht mehr.
Zwei Möglichkeiten sind mir bekannt:
1. Einfach initialisieren
In einer Schleife kann ich dann die Buffer befüllen und mit strcat in buffer4 schreiben. Da ich den Speicher danach nicht mehr brauche habe ich aber 738 Byte verschenkt. Das ist nicht viel - mir geht es aber um das Prinzip und korrekte Verständnis - sowas könnte ja auch mal in "größer" auftreten.
2. malloc
Ich kann mir natürlich auch nur Pointer initialisieren und dann den benötigten Speicher dynamisch reservieren. Danach wird er mit free(*ptr); wieder frei gegeben.
3. ???
Aus anderen Sprachen kenne ich es natürlich sehr faul:
So eine Möglichkeit kenne ich unter C leider (noch) nicht.
Evtl. könnt ihr mich zu der Vorgehensweise zum Thema "Strings in C verknüpfen" ein wenig aufklären. Ein "char buffer[1000]" akzeptiere ich allerdings nicht - ausgenommen jemand kann mir (sehr gut) erklären warum das Sinn macht...
ich würde gerne wissen, wie ihr Strings miteinander zur Laufzeit verbindet.
Zur Laufzeit lese ich mehrere Strings unbekannter Länge ein (maximum 254 + '\0'). Diese Strings verbinde ich zu einem großen. Die Strings benötige ich danach nicht mehr.
Zwei Möglichkeiten sind mir bekannt:
1. Einfach initialisieren
In einer Schleife kann ich dann die Buffer befüllen und mit strcat in buffer4 schreiben. Da ich den Speicher danach nicht mehr brauche habe ich aber 738 Byte verschenkt. Das ist nicht viel - mir geht es aber um das Prinzip und korrekte Verständnis - sowas könnte ja auch mal in "größer" auftreten.
2. malloc
Ich kann mir natürlich auch nur Pointer initialisieren und dann den benötigten Speicher dynamisch reservieren. Danach wird er mit free(*ptr); wieder frei gegeben.
3. ???
Aus anderen Sprachen kenne ich es natürlich sehr faul:
So eine Möglichkeit kenne ich unter C leider (noch) nicht.
Evtl. könnt ihr mich zu der Vorgehensweise zum Thema "Strings in C verknüpfen" ein wenig aufklären. Ein "char buffer[1000]" akzeptiere ich allerdings nicht - ausgenommen jemand kann mir (sehr gut) erklären warum das Sinn macht...
My lovely mister singing club...