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

std::string の代わりに char* を使用したい場合、からの汎用メソッド<algorithm>std::copy.

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

もちろん、strlen(hello) + 1)hello の内容が動的に決定される場合は、6 の代わりに使用できます。

ただし、結局のところ、単純に を使用する方がエラーが発生しにくい可能性がありますstrcpy

于 2013-10-02T04:14:59.833 に答える