这样写为什么错呀?

caoliu 2003-03-14 02:06:29
void __fastcall TForm1::Button5Click(TObject *Sender)
{
char *a="afajk";
char *b;
strcpy(b,a);
Label1->Caption=b;
}
我运行时一单击按钮就出现错误,怎么回事?
谢谢!
...全文
15 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoliu 2003-03-14
  • 打赏
  • 举报
回复
To:lluunn007(书生)
如果你这样声明,下面你怎么写(属性声明和写入函数)?
我刚才写的总是报错!
caoliu 2003-03-14
  • 打赏
  • 举报
回复
谢谢,马上揭帖给分!
书生 2003-03-14
  • 打赏
  • 举报
回复
char * Fvariablename的声明改一下:

char Fvariablename[255]; //呵呵,够长了的吧
whitelion 2003-03-14
  • 打赏
  • 举报
回复
char *在应用过程中经常出错
建议你使用String型变量
caoliu 2003-03-14
  • 打赏
  • 举报
回复
谢谢各位!
我其实是想为我新建的frame加一个属性,我希望lable1中的文本可以变化。
class TFrame2 : public TFrame
{
__published:
TLabel *Label1;
private:
char * Fvariablename;
public:
__property char * variablename = { read=Fvariablename, write=Setvariablename };
};

void __fastcall TFrame2::Setvariablename(char char * value)
{
if(Fvariablename!=value)
{
strcpy(Fvariablename,value);
Label1->Caption=Fvariablename;
}
}
你们看看我这里应该怎么改?
谢谢!
神医CL 2003-03-14
  • 打赏
  • 举报
回复
指针乱飞,会错的
char a[6],b[6];
strcpy(a,"afajk");;
strcpy(b,a);
Label1->Caption=b;
jyang78 2003-03-14
  • 打赏
  • 举报
回复
把 char *b 变成char b[10],就好了。
gfh_79_0 2003-03-14
  • 打赏
  • 举报
回复
char *a="afajk";
char *b="";//b为空指针
strcpy(b,a);
Label1->Caption=b;
书生 2003-03-14
  • 打赏
  • 举报
回复
char *a="afajk";
char b[10]; //分配下地址
strcpy(b,a);
Label1->Caption=b;

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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