如何将指针引用的字符串复制到另一个字符串中

How to copy the string referenced by a pointer into another string?

本文关键字:字符串 复制 另一个 指针 引用      更新时间:2023-10-16

例如,指针指向的字符串具有以下格式

msg->data.c_str()

现在,我想把这个字符串存储到一个"本地"字符串中,比如:

string str = msg->data.c_str();

然而,这不起作用,而且我对指针操作不太熟悉。有人能帮忙吗?

只需执行:

string str = msg->data;

这将调用以msg->data字符串为参数的std::string复制构造函数。结果是msg->data被安全地复制到str中。实际内容是立即复制,还是写时复制取决于实现。你不必担心,它会"起作用"的。

.c_str()允许从字符串中获取const char*。如果您直接对字符串感兴趣,只需删除c_str()即可。