首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

String不可以赋值吗?该怎么解决

2012-02-16 
String不可以赋值吗??void__fastcallTForm2::okbuttonClick(TObject*Sender){Stringtttttt 123 puNow

String不可以赋值吗??
void   __fastcall   TForm2::okbuttonClick(TObject   *Sender)
{
    String   ttt;
    ttt= "123 ";
    puNow-> FileName=ttt;
  }
我在一个按钮写上这代功能;
是想把puNow-> FileName重写赋值,但怎么会出现内存错误呢?


puNow的指针结构体:
typedef   struct   UFD                                                   //普通文件的目录项
{
String   FileName;                               //文件名
int   type;                                               //文件类型,0为只读,1为可读可写
int   len;                                                 //文件长度
int   FolderFlag;                                     //看是否是文件夹,当为1是文件
struct   UFD   *next;
struct   MFD   *nextMChild;                 //文件夹链表
struct   FCB   *nextchild;
}UFDNode,*UFDLink;

[解决办法]
建议用 char[100] 之类的描述
链表内存为连续固定字节内存,而 String 类型是一个可变对象
[解决办法]
puNow-> FileName=ttt;

很有可能你只是定义的指针,所以不能赋值
[解决办法]
是不是puNow没实例化
[解决办法]
puNow的内存分配了码?把错误信息贴出来
[解决办法]
是呀,加一句实例化
puNow = new UFD;

[解决办法]
什么错误?
[解决办法]
八成是没分配内存指向野指针了

热点排行