#define string

Ozzy Ozborn

Erfahrenes Mitglied
Hi,

ich bekomme es einfach nicht hin, einen String zu definieren, um ihn hinterher in einer Pfadangabe zu benutzen. So habe ich es probiert:
Code:
#define PFAD "pfad"
[...]
f.open(pfad+"/file.tmp", ios::out | ios::binary );
Als Fehlermeldung bekomme ich immer:
Code:
Fehler: ungültige Operanden der Typen »const char [8]« und »const char [10]« für binäres »operator+«

Wie muss es denn richtig heißen?

MfG, und vielen Dank, Ozzy
 
versuch es mal so:
Code:
#define PFAD pfad
[...]
f.open("PFAD/file.tmp", ios::out | ios::binary );

XeoX
 
Hallo,

in C/C++ können Zeichketten nicht einfach verknüpft werden, indem man die Buffer addiert. Dafür benötigt man entsprechende Funktionen.
Bei C++ könnte man einen Stringstream nehmen:
C++:
#include <sstream>

#define PFAD "pfad"

stringstream sstr;
sstr << PFAD << "/file.tmp";
f.open(sstr.str().c_str(), ios::out | ios::binary );
Gruß
MCoder
 
Zurück