[英]Equivalent of C strcpy in C++
我在C中有一个代码,
struct sFoo
{
char* name;
char* fullname;
};
sFoo* foo = (sFoo*)malloc(sizeof(sFoo));
foo->name = (char*)malloc(10);
strcpy(foo->name, "HELLO");
C ++中的strcpy等效于什么?
您可以使用std :: string
int main()
{
std::string myString = "Hello, there!";
std::string myOtherString = myString; //Makes a copy of myString
}
std :: string是标准的C ++字符串类型,它可以像您一样处理复制!
如果您希望使用char *代替std :: string,则<algorithm>
通用方法是std::copy
。
char* hello = "HELLO";
std::copy(hello, hello + 6, foo->name);
当然,如果hello的内容是动态确定的,则strlen(hello) + 1)
可以代替6。
然而,到最后,简单地使用strcpy
可能会减少错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.