在C ++中连接写参数

时间:2012-03-29 04:59:05

标签: c++

我需要在write函数中连接参数。我该怎么做?

示例:ofstream write(newFolder concat "/newfile.txt");

mkdir(newFolder);
ofstream write (wantTo "concat here");
write << "Sup mo fo";
write.close();

2 个答案:

答案 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());