MFC,我在全局变量中定义了一个结构体,想在另一对话框初始化。。

MFC中比如我在TestApp中定义有一个全局变量的结构体structStudent{charname[50],longid}student;在某个对话框里有一个局部变量... MFC中比如我在TestApp中定义有一个全局变量的结构体struct Student{char name[50],long id}student;
在某个对话框里有一个局部变量的结构体,参数类型数量一致,是struct People {char name[50],long id};
我建立了一个对象是:People pl={“小红”,110};
现在我想要用pl来初始化全局变量Student结构体,于是我:
TestApp *app=(TestApp*)AfxGetApp();//生成向应用程序类的指针

//第一种初始化方法(错了):
app->student.name=pl.name;//结果出错,说表达式左边必须是可修改的值
//第二种初始化方法(错了):
app->student.name;
app=pl.name//结果错,说不能把char*赋给TestApp类型的实体;
//第三次尝试,也错!
app->student.name;
app=&pl.name;//原因同上;
//第四次啦,都愤怒啦,我打算强制转化
app->student.name;
app=static_cast<TestApp*>pl.name;//结果又出错,说我转化无效

看我百折不挠,大神们能指条明路给我吗?万分谢谢!
主要是:这里的TestApp是一个通用类,我在另一个窗口访问它必须用指针(听说是这样的),因此这里只能先TestApp *app=(TestApp*)AfxGetApp()创建一个app指针,让它来访问student结构体了。我参考的是: http://dev.yesky.com/225/2153225.shtml。。。其中,我的x是一个结构体,它原文是一个整型变量int型的。。。它可以直接赋值,可是我的结构体里有char[]
展开
 我来答
tshxiaxin
2014-06-08 · 超过21用户采纳过TA的回答
知道答主
回答量:75
采纳率:100%
帮助的人:45.9万
展开全部
 app->student.name=pl.name;//c语言基础差

char *是不可以直接使用赋值的,要用strcpy函数

更多追问追答
追问
被发现了,我C语言基础确实差,嘿嘿。。不过你能帮我用代码解决下问题吗?
我按你说的,百度了下strcpy函数的用法,修改后,还是错,可能是我不会用吧~~你能用代码指导下这问题该如何解决吗?劳驾你了
追答

我并没有出错啊。

丶笑佛
2014-06-08 · TA获得超过558个赞
知道小有建树答主
回答量:613
采纳率:0%
帮助的人:339万
展开全部
这个真的看不懂,帮顶把
追问
嘿嘿,谢谢帮顶,兄弟挺给力哒
追答
你才给力呢,玩的俺都看不懂,哈哈~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式