jxncxu 发表于 2006-4-13 00:51:00

[求助]如何将TEXT文字拆分成单字(ARX方法)?

本帖最后由 作者 于 2006-4-16 23:58:15 编辑 <br /><br /> <FONT face=宋体 size=2>如何将TEXT文字拆分成单字(ARX方法)?我通过acdbEntMake函数编写了一个程序,可运行到strcpy(la-&gt;resval.rstring,temp)时CAD死了!不知为何?<BR><BR>我的代码如下:<BR>//====拆分文字=======================================================<BR>void exptxt(ads_name text)<BR>{<BR>struct resbuf *la,*ed,*ep;<BR>ads_real texthz,textwz,textrz;<BR>char temp,*txtstr=" ";<BR>ads_point pick;<BR>int i,len,count=0;<BR><BR>ed=acdbEntGet(text); //取得实体参数集<BR>ep=ed;<BR><BR>la=entitem(ed,40);<BR>texthz=la-&gt;resval.rreal;<BR><BR>la=entitem(ed,41);<BR>textwz=la-&gt;resval.rreal;<BR><BR>la=entitem(ed,50);<BR>textrz=la-&gt;resval.rreal;<BR><BR>la=entitem(ed,10);<BR>pick=la-&gt;resval.rpoint;<BR>pick=la-&gt;resval.rpoint;<BR><BR>la=entitem(ed,1);<BR>strcpy(txtstr,la-&gt;resval.rstring);<BR><BR>acdbEntDel(text);<BR><BR>len=strlen(txtstr);<BR>count=0;<BR>for(i=0;i<LEN;I++)<BR /> {<BR>temp=txtstr;<BR>if(isascii(temp)==0) <BR>{<BR>temp=txtstr;<BR>temp='\0';<BR>temp='\0';<BR>i++;<BR>}<BR>else <BR>{<BR>temp=txtstr;<BR>if (temp=='%' &amp;&amp; temp=='%')<BR>{<BR>temp=txtstr[++count];<BR>temp='\0';<BR>count++;<BR>i=i+2;<BR>}<BR>else<BR>{<BR>temp='\0';<BR>temp='\0';<BR>temp='\0';<BR>}<BR>}<BR>la=entitem(ep,1);<BR><FONT color=#ff0000><EM>strcpy(la-&gt;resval.rstring,temp);//运行至此死机<BR></EM></FONT><BR>la=entitem(ep,10);<BR>la-&gt;resval.rpoint=pick;<BR>la-&gt;resval.rpoint=pick;<BR>la-&gt;rbnext=NULL;<BR>acdbEntMake(ep); //更新实体参数集<BR>pick=pick+1.0*texthz*textwz*cos(textrz);<BR>pick=pick+1.0*texthz*textwz*sin(textrz);<BR>}<BR>acutRelRb(ed);<BR>}<BR>//===================================================================</FONT>

jxncxu 发表于 2006-4-27 07:59:00

呵......,解决问题了。

wzz1968 发表于 2006-5-16 20:29:00

<P>问题不是出在那句上,关键是没有给textstr分配空间,将其定义字符数组,就可以了.</P>
<P>&nbsp;</P>

freeok 发表于 2012-11-17 10:32:09

你们这代码要怎么样应用在CAD里啊?

chpmould 发表于 2012-11-18 09:36:29

字符数组处理
页: [1]
查看完整版本: [求助]如何将TEXT文字拆分成单字(ARX方法)?