![]() |
【转帖】求助:未处理的异常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*,函数内部不负责分配内存,而是直接赋值,给一个未经初始化的无效指针赋值,当然会出错了 问题解决谢谢高手指点 |
| 所有的时间均为北京时间。 现在的时间是 07:05 AM. |