2015-07-19 32 views
-1

假设我有以下结构:如何将char缓冲区添加到放置在struct中的std字符串中?

struct A { std::string str; }; 

我如何添加字符缓冲区到std ::程序放在一个结构后的字符串str?

char bufer[]="somestring"; 
A* ptr=new A; 
ptr-> // how to add char buffer to std::string str here? 
+0

你是说,'ptr-> str = buffer;'执行复制?另外,您可能不需要动态分配'A'。 – Rubens

+0

'ptr-> str = string(buffer);'? – Cyclonecode

回答

2
char bufer[]="somestring"; 
A* ptr=new A; 
ptr->str = buffer; 

此外,

char bufer[]="somestring"; 
A a; 
a.str = buffer; 

请注意,ptra有自己的字符串拷贝。如果更改buffer的内容,则ptra中的值str不会更改。相反,如果更改ptra中的值str,则它不会更改buffer的内容。

相关问题