char pointer

Gast #1875510
Lesenswert?

Hi,

ich muss leider einen char pointer verwenden.

Wie kann ich diesen jetzt mit einem anderen verknüpfen?
Hier ein beispiel wie ich es haben möchte:

char *essen ="heute gibt es: ";
char *menu;
scanf(%s, menu);

//Hier sollten nun die zwei strings zusammengefügt werden
tmp = essen+menu
//
portWriter(tmp);


wichtig ist dabei, das ein char pointer verwendet wird, da die funktion 
einen char pointer benötigt....oder es sollte die möglichkeit geben, ein 
anderes format vorher zu konvertieren.

bin leider neu in branche,

hoffe ihr könnt mir helfen
Gast #1875541
Lesenswert?

frank schrieb:
> char * essen="Heute gibt es: ";
> strcat(essen, "Käsefondue");
>
> warum hängt er sich bei mir dann beim programmablauf auf?

weil essen eigentlich const (Konstant) ist dort darst du nichts 
anhängen. Du musst dir schon selber dein speicher besorgen.


char test[1024]; // order char* test = (char*)malloc(1024);
strcat(test, "test1;");
strcat(test, "test2;");
strcat(test, "test3;");
strcat(test, "test4;");
strcat(test, "test5;");
printf("%s", test);
#1875556
Lesenswert?

> warum hängt er sich bei mir dann beim programmablauf auf?

Weil du keinen Speicher hast für den resultierenden String.

Du brauchst ein C-Buch und ein Array von char, um dort den Stringanfang 
reinzukopieren (strcpy) und den zweiten Teil dran zu hängen (strcat).
.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren