利用指针给一个字符串数组赋值,怎么做?

tomyail 2009-10-03 09:50:44
#include<iostream>
using namespace std;
struct CandyBar{
char name[20];
double weight;
int caloric;
};

CandyBar CandyFun(CandyBar &Candy,char *pName ="Millennium Munch",
double fWeight = 2.85,int fcaloric = 350);
int main(){
CandyBar myCandyBar;

cout <<"Enter the Candy's name:" ;
char pn[20];
cin.get(pn,20).get();
cout << "Enter the Candy's weight:";
double weight;
cin >> weight;
cout << "Enter the Candy's caloric:";
int caloric;
cin >> caloric;
CandyFun(myCandyBar,pn,weight,caloric);
}


CandyBar CandyFun(CandyBar &Candy,char* pName,double fWeight,int fcaloric){

Candy.name = *pName;
Candy.weight = fWeight;
Candy.caloric = fcaloric;
return Candy;
}

这是源代码,运行错误29 incompatible types in assignment of `char' to `char[20]' 位于 CandyFun函数的第一行?
...全文
437 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl4834699 2012-03-22
  • 打赏
  • 举报
回复
如果是BYTE类型的呢。。。
herman~~ 2009-10-04
  • 打赏
  • 举报
回复
可以先这样哦
char p[]= "hello";
string str(p);

wensheng_zh2007 2009-10-03
  • 打赏
  • 举报
回复
name是个地址常量
cattycat 2009-10-03
  • 打赏
  • 举报
回复
字符串不能直接赋值。
Candy.name = *pName;
不对,用1楼的办法
WaistCoat15 2009-10-03
  • 打赏
  • 举报
回复
strcpy(Candy.name, pName); 

64,685

社区成员

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

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