结构体赋值

时间:2008-05-09 09:22:37   来源:论坛整理  作者:  编辑:chinaitzhe

C/C code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/







struct msgform{

   long mtype;

   char mtext[1030];

};



struct msgform msg;



char str[1030]="abcde";



(&msg)->mtext=str; //这句错了,怎么改啊?    谢谢








网友回复:strcpy(msg.mtext, str);
网友回复:对于字符串赋值要用strcpy或者是strncpy函数来实现
strcpy(msg.mtext,str);或者是strncpy(msg.next,str,strlen(str))
网友回复: 路过学习
网友回复:char mtext[1030];是一个数组,不能够直接赋值修改。
应该使用strcpy(msg.mtext, str);
网友回复:C/C 内置的字符串赋值必须用函数来实现,不支持直接的=赋值的...

PS:又见福原爱...
网友回复:相当于
char a[5],b[5]="abc";
a=b; //数组名是个常量,可赋值号左边不能为常量啊
网友回复:strcpy(msg.mtext, str);
strcpy(msg->mtext, str);

整个字符串复制一般使用strcpy()
strcpy
语法:

#include <string.h>
char *strcpy( char *to, const char *from );

功能:复制字符串from 中的字符到字符串to,包括空值结束符。返回值为指针to。

网友回复:
引用 1 楼 brookmill 的回复:
strcpy(msg.mtext, str);


(&msg)->mtext=str; 这个语句本身就有问题 当msg是指针的时候才能用-〉
假如就是一个结构体变量 和他的成员变量之间用“.”
网友回复:memcpy也可以。

关键字:结构,赋值,

相关文章

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面