查看单个帖子
旧 2009-04-18, 05:21 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】求助:未处理的异常c0000005

求助:未处理的异常c0000005
求助:未处理的异常c0000005
typedef struct datafield_string
{
char *fieldname;
char *fieldval;

};
typedef struct datafield_double
{
char *fieldname;
double fieldval;

};
typedef struct datafield_long
{
char *fieldname;
long fieldval;

};
typedef struct pipeextentiondata
{
datafield_string pipetype;
datafield_string dn;
datafield_double d;
datafield_double b;
datafield_double high;
datafield_double length;
datafield_long index;

};

//数据初始化
pipeextentiondata pipedata=
{
{"管道类型","焊接钢管"},
{"公称直径","dn20"},
{"管道外径",0.0},
{"管道壁厚",0.0},
{"管道标高",0.0},
{"管段长度",0.0},
{"管段编号",1}
};

acedgetstring(0,"\n管道类型:",pipedata.pipetype.fieldval);
acutprintf("\n管道类型:%s",pipedata.pipetype.fieldval);
以上代码编译通过,运行时输入后出错,错误提示:“未处理的异常c0000005(access violation writing 0x182b174),地址:77c17ad8h”
请高手指教该如何解决,谢谢!!!
以上代码简化为如下代码,编译通过,错误依旧
char *abc;
acedgetstring(0,"\n管道类型:",abc);
char abc[256]="";
acedgetstring(0,"\n管道类型:",abc);
acedgetstring()需要一个分配过内存初始化过的char*,函数内部不负责分配内存,而是直接赋值,给一个未经初始化的无效指针赋值,当然会出错了
问题解决谢谢高手指点
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)