D
deep90sravioli
Gast
Hi,
habe zurzeit kein Projekt dazu deswegen auch keinen Code, denke aber meine Frage dürfte trotzdem verständlich sein. Ich würde gerne für einen String ein Array/Zeiger erstellen. Da ich aber zurzeit noch nicht weiß wie groß dieser String sein soll, weiß ich demnach auch nicht wie groß ich mein Array erstellen soll. Da ich es ungerne mit 1024 Zeichen vorbelegen möchte, würde ich gerne malloc anwenden. Ist es an der Stelle möglich, mit Malloc eine größe zu reservieren, die sich quasi "selbst" mit einlesen des Strings erstelle? Z.B. lese ich "Hallo\0" ein, sodass malloc weiß, das es 6 Zeichen reservieren muss?
Nächster Punkt: Ich lese über die Kommandozeile Argumente ein. Ich möchte gerne, das mein erstes eingegebenes Argument (argv[1]) in ein separates Array gespeichert wird. Wäre es an der Stelle möglich, mit
genau so viel Speicher zu reservieren, wie er für z.B. "hallo"/"hallo\0" gebraucht wird? (Ich weiß nicht ob bei Kommandoargumente ein Nullbyte dabei ist).
Danke schon mal im voraus,
MfG
habe zurzeit kein Projekt dazu deswegen auch keinen Code, denke aber meine Frage dürfte trotzdem verständlich sein. Ich würde gerne für einen String ein Array/Zeiger erstellen. Da ich aber zurzeit noch nicht weiß wie groß dieser String sein soll, weiß ich demnach auch nicht wie groß ich mein Array erstellen soll. Da ich es ungerne mit 1024 Zeichen vorbelegen möchte, würde ich gerne malloc anwenden. Ist es an der Stelle möglich, mit Malloc eine größe zu reservieren, die sich quasi "selbst" mit einlesen des Strings erstelle? Z.B. lese ich "Hallo\0" ein, sodass malloc weiß, das es 6 Zeichen reservieren muss?
Nächster Punkt: Ich lese über die Kommandozeile Argumente ein. Ich möchte gerne, das mein erstes eingegebenes Argument (argv[1]) in ein separates Array gespeichert wird. Wäre es an der Stelle möglich, mit
C:
char *first_arg;
first_arg = malloc(strlen(argv[1]));
genau so viel Speicher zu reservieren, wie er für z.B. "hallo"/"hallo\0" gebraucht wird? (Ich weiß nicht ob bei Kommandoargumente ein Nullbyte dabei ist).
Danke schon mal im voraus,
MfG