【发布时间】:2013-08-31 18:16:51
【问题描述】:
目前我有一个复杂的函数,我自己和我们的团队不想重构以利用 std::string 并且它需要一个 char* 已修改。我如何正确地将 string::c_str() 的深拷贝制作成 char*?我不希望修改字符串内部存储的 char*。
char *cstr = string.c_str();
失败,因为 c_str() 是 const。
【问题讨论】:
-
这是 C++11 吗?复制
std::string并使用&stringCopy[0]。 -
strdup,new/strcpy, @chris' 的建议,...你可以选择。 -
sprintf(cstr,"%s", somestring.c_str())