我需要在write函数中连接参数。我该怎么做?
示例:ofstream write(newFolder concat "/newfile.txt");
mkdir(newFolder);
ofstream write (wantTo "concat here");
write << "Sup mo fo";
write.close();
答案 0 :(得分:1)
如果newFolder
是std :: string,则只需使用newFolder + "/newfile.txt"
。您必须确保newFolder
不会以/
或\
结尾。如果在c_str()
函数中需要char *,则可能需要在std :: string上使用write
函数。
答案 1 :(得分:0)
虽然使用std::string
是首选方法,但要小心,因为旧版本的标准库不支持以open
为参数的std::string
方法。
如果您在使用open
时对std::string
的调用出错,则必须分两步执行:
std::string newFolder = "/path/to/folder";
mkdir(newFolder.c_str(), 0644); // The 'mkdir' function wants 'const char *'
// Has to concatenate strings here if your standard library is too old
std::string folderAndFile = newFilder + "/filename";
std::ofstream output(folderAndfile.c_str());