繁体   English   中英

在C ++中等效于C strcpy

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM