目前我有一个复杂的功能,我和我们的团队不想重构使用std :: string,它需要修改一个char*.我如何正确地将string :: c_str()的深层复制到char*中?我不打算修改字符串的内部存储的char*.
char *cstr = string.c_str();
Run Code Online (Sandbox Code Playgroud)
因为c_str()是const而失败.
你可以这样做:
const std::string::size_type size = string.size();
char *buffer = new char[size + 1]; //we need extra char for NUL
memcpy(buffer, string.c_str(), size + 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7716 次 |
| 最近记录: |