请问各位高手在c++中能不能使用Strcopy语句复制结构体?

huangbo0603 2009-03-10 07:24:59
谢谢!
...全文
95 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chin_chen 2009-03-10
  • 打赏
  • 举报
回复
strcpy的源代码
char   *strcpy(char   *strDest,const   char   *strSrc)   
{
assert((strDest!=NULL)&&(strSrc !=NULL))
char *address = strDest;
while((*strDest++ = *strSrc)!='\0')
NULL;
return address;
}

你说结构体是不是适合这样做啊?显然不行啊。
用拷贝构造函数或者是 重载operator=啊

struct my
{
my(const my&out)
{
i=out.i;
}
my& operator=(const my&out)
{
i=out.i;
}
int i;

};


huangbo0603 2009-03-10
  • 打赏
  • 举报
回复
高手能不能写个具体点的情况看看啊
M_Soul 2009-03-10
  • 打赏
  • 举报
回复
c/c++支持:
一个结构体可以直接赋值给同类型的结构体!如: 若s1,s2为同种类型结构体,则可以 s1=s2;
  • 打赏
  • 举报
回复
像Cstring,String这些非C风格字符串肯定不能用Strcpy或者Strncpy,他们只支持C风格字符串,找不到'\0'他们会发疯的。
复制结构体肯定不能算字符串,用memcpy倒是可以,只要保证存储连续。不过由于字节对齐的关系,复制后的结果不完全连续。
xkyx_cn 2009-03-10
  • 打赏
  • 举报
回复
用stl::string类
mosaic 2009-03-10
  • 打赏
  • 举报
回复
用memcpy

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧