如何将char数组连接成字符串

How to concat char array into a string

下面我在一个字符数组中有两个变量存储

char one[7]  = "130319";
char two[7] =  "05A501";

我尝试用 stringstream 连接它们

std::ostringstream sz;
sz << one<< two;

然后我把它转换成字符串

std::string stringh = sz.str();

那我尝试合并成一个文件的路径 并在该文件中写入文本

std::string start="d:/testingwinnet/json/";
std::string end= ".json";
std::string concat= start+stringh + end;

ofstream myfile(concat);

myfile << "test";
myfile.close();

我收到以下错误

error C2040: 'str' : 'class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >' differs in levels
of indirection from 'char *

任何想法。非常感谢

考虑查看之前的字符串连接答案How to concatenate two strings in C++?

问题是您使用了非常的旧版本Visual Studio。比 C++11 标准要早得多,后者引入了将 std::string 作为文件名传递给文件流的能力。

打开文件时,您必须使用 C 风格的字符串 (const char *) 作为文件名,例如 std::ofstream.

所以您当前代码的解决方案是

ofstream myfile(concat.c_str());