Addieren zweier Zeiger



  • Ich habe ein char Feld

    char szPath[MAX_PATH+2];
    

    darin ist der Pfad einer Datei gespeichert, daran möchte ich nun folgendes anhängen.

    string D;
    D="text.txt";
    

    ich dachte in der FORM

    string S;
    S= szPath + D;
    

    Dann kommt aber die Fehlermeldung zwei Zeiger können nicht addiert werden, wie kann ich da anders realisieren.



  • Entweder du, nimmt für das erste auch std::string und nimmst da den op+= oder du legst dein char mit der richtigen Größe an und hängst dann mit der entsprechenden C-Funktion den string an. Hol die dazu den string als C-Char per string::c_char().



  • Hmm,
    das erste muss ein char feld sein, was mann in der größe nicht festlegen kann.
    Das heißt so geht es leider nicht.
    Ich dachte daran das char Feld in einen string umzuwandeln.

    char buffer[200];
    sprintf(buffer, szPath)
    

    funzt aber auch nicht



  • Es funktioniert wenn ich

    S=szPath.c_str() + D;
    

    nutze

    trotzdem danke.


Anmelden zum Antworten