我从一个处理函数中收到了一个const char *
,我希望将其转换/分配给std::string
的实例以进行进一步操作。这似乎应该很简单,但是我没有找到任何说明如何完成此操作的文档。显然,我缺少某些东西。感谢您的见解。
std::string
可以从const char *
类型的参数构造。这意味着以下写法是合法的:
const char* str="hello";
std::string s = str;
尝试
const char * s = "hello";
std::string str(s);
能解决问题。
std::string
有一个构造函数,可以隐式地将const char*
转换为字符串。在大多数情况下,您无需进行任何操作。只需在接受std::string
的位置传递const char*
即可正常工作。
assign
(如果不考虑成员函数insert
,尽管它也可以被使用:))#include <iostream>
#include <string>
const char * f() { return "Hello Fletch"; }
int main()
{
std::string s1 = f();
std::string s2;
s2 = f();
std::string s3;
s3.assign( f() );
std::cout << s1 << std::endl;
std::cout << s2 << std::endl;
std::cout << s3 << std::endl;
}
std::string(const char* cstr)
。 - aruisdantestd::string s = f();
- Alan Stokes