1

我有一个C代码,

struct sFoo
{
   char* name;
   char* fullname;
};

sFoo* foo = (sFoo*)malloc(sizeof(sFoo));
foo->name = (char*)malloc(10);

strcpy(foo->name, "HELLO");

C ++中strcpy的等价物是什么?

4

2 回答 2

5

您可以使用 std::string

int main()
{
    std::string myString = "Hello, there!";

    std::string myOtherString = myString;  //Makes a copy of myString


}

std::string 是标准的 C++ 字符串类型,它为您处理复制!

于 2013-10-02T04:09:43.070 回答
3

如果您希望使用 char* 而不是 std::string,通用方法来自<algorithm>is std::copy

char* hello = "HELLO";
std::copy(hello, hello + 6, foo->name);

当然,strlen(hello) + 1)如果hello的内容是动态确定的,也可以用6代替。

然而,归根结底,简单地使用strcpy.

于 2013-10-02T04:14:59.833 回答