char * problem

  • folgendes problem

    ich hab zwei char *
    und würd die gerne zusammenhängen


    d.h. in dem einen steht ein name
    und im anderen ein pfad

    ich brauch das aber als ganzes

    char * pfad;
    char * filename;

    char *gesamt = ???????


    nur wie ??

    hab sogar schon mein c++ für dummies ausgegraben
    aber irgendwie haut des net hin !!! -> exceptions

    danke

  • #include <string.h>

    char * pfad;
    char * filename;

    char gesamt[x]; /* x = max.Länge v.Pfad + max.Länge v.filename + 1 */

    strcpy(gesamt, pfad);
    strcat(gesamt, filename);

    "in 1000 years, we will be living machines, or dead gods"

  • char gesamt[x] erwartet konstanten ausdruck, aber filename und pfad können sich ändern
    OK, habs schon, ich machs einfach 255 lang

    aber warum ist char [255] gleich wie char *
    denn die funktion erwartet char * und nimmt dieses char [255] ???
    ich habs schon mal ählich gehabt, aber der kompiler hat mir damals gesagt dass weder const char, noch char[] übergeben werden können

    subatomic: danke, so hauts hin

  • ein char[255] ist ein char*

    und wennst strcat verwendest hast (wiedermal) einen potentiellen buffer overflow drinnen, besser strncat verwenden.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!