我有一个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>
is std::copy
。
char* hello = "HELLO";
std::copy(hello, hello + 6, foo->name);
当然,strlen(hello) + 1)
如果hello的内容是动态确定的,也可以用6代替。
然而,归根结底,简单地使用strcpy
.