我有这行代码
std::ofstream output(p_strFilename.c_str());
其中p_strFilename
是从函数参数
foo(const std::string &p_strFilename)
将一堆文件保存在当前工作目录中。但是我想在该目录中输入一个步骤并将文件保存在其中。我试过了
std::ofstream output("folder1\\"+p_strFilename.c_str())
这是给我的
error: invalid operands of types ‘const char [9]’ and ‘const char*’ to binary ‘operator+’
我猜这个目录是9个字符而不是字符串。
第一个问题:这是输入目录的正确方法吗? (双反斜杠并从CWD开始不形成主目录)
第二个问题:如何解决编译错误?
答案 0 :(得分:0)
我认为只有在连接后才需要转换为c_string:
std::ofstream output(("folder1/"+p_strFilename).c_str())
希望它有所帮助! :)
答案 1 :(得分:0)
请勿使用func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
centralManager.connect(myPeriperal, options: nil)
}
。
.c_str()
不适用于两个operator+
,您必须使用char*
std::string
添加此类字符串。
operator+
(One of the two strings being concatenated must be a std::string object)