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
Da gibt es ne ganze Library mit Stringverarbeitungsfunktionen. Such mal bei google nach: c string handling Ich tippe auf etwa ne halbe Millionen Treffer. Vermutlich hilft dir der erste schon weiter.
Hi, danke für die antwort, aber die funktion funktioniert nur mit arrays, kann das sein? ich habs gerade so implementiert: char * essen="Heute gibt es: "; strcat(juhu, "Käsefondue"); Gruß Frank
frank schrieb: > char * essen="Heute gibt es: "; > strcat(juhu, "Käsefondue"); und warum hast du die variable essen wenn du sie nicht verwendest?
nachtrag: stell bitte vorher sicher das auch noch Platz in Speicher für das Anghänge vorhanden ist, sonst geht es schief.
sorry, schreib fehler, ich habs so implementiert: char * essen="Heute gibt es: "; strcat(essen, "Käsefondue"); warum hängt er sich bei mir dann beim programmablauf auf?
du kannst speicher mit der fkt malloc() zuweisen - such mal danach. Wenns nicht geklappt hat, dann bekommst du das mit.
ok..ich habs. ich glaub es war kein platz mehr für das anhängsel, hab jetzt n char array gemacht ging genauso. Super, vielen dank! seit echt gut, ihr jungs! Gruß Frank
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);
> 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).
.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.