【发布时间】:2011-04-28 16:48:14
【问题描述】:
我有一个使用 char 数组作为字符串的 c 库,我想在我的代码中使用 c++ std::string, 有人可以帮我如何在 char * c 样式字符串和 STL 库字符串之间进行转换吗?
例如我有:
char *p="abcdef";
string p1;
和
string x="abc";
char *x1;
如何将 p 转换为 p1 并将 x 转换为 x1
【问题讨论】:
-
请注意,
char* p="abcdef"至少是非常危险的,如果不是完全错误的话。那是因为您无法写入字符串文字,因此p[0]='a'会将您带入未定义的行为领域。指针应声明为const,以确保您不会意外这样做。还要注意,用字面量构造std::strings时不存在这样的问题。
标签: c++ visual-c++