- 注册时间
- 2005-6-20
- 最后登录
- 1970-1-1
|
我在做EWE for TC800 时发现代码通不过LavaX IDE 3.1 编译(早就发现了,今天才问出来),问题是它竟然没有报错,就是不生成LAV文件,按调试可以运行,但认证通不过。问题出在哪儿?其他编译器就没这个问题。请大家帮我看看。这关系着EWAY软件FOR TC800能否做出来。
以下是其中一例,只要告诉我为什么有这问题就行了。谢谢。
char str[150];
///////////////////////////
void stri(char y,int o){
char ch[3];
int word,n,l;
memset(str,0,19);memset(ch,0,3);strcpy(str,o);n=strlen(str);
while(ch[0]!=13){
l=strlen(str);
Locate(4,0);printf(" ");
Locate(y,0);printf("%s ",str);Box(8*n,16*y,8*n+1,16*y+16,1,2);
word=getchar();
ch[0]=word;
if(isprint(ch[0])&&l<18){memmove(str+n+1,str+n,l-n);str[n]=ch[0];n++;}
else if(ch[0]>=160&&l<17){ch[1]=word>>8;memmove(str+n+2,str+n,l-n);memcpy(str+n,ch,2);n=n+2;}
else if(ch[0]==27){strcpy(str,"");return;}
else if(ch[0]==29&&n>0){
if(str[n-1]>=160){memmove(str+n-2,str+n,l-n);memset(str+l-2,0,2);n=n-2;}
else {memmove(str+n-1,str+n,l-n);str[l-1]=0;n--;}
}
else if(ch[0]==23){
if(n==0)n=l;else if(str[n-1]>=160)n=n-2;else n--;
}//if完
else if(ch[0]==22){
if(n>=l)n=0;else if(str[n]>=160)n=n+2;else n++;
}//if完
}//while完
}
//////////////////////////
void main(){
stri(1,"lavax");
printf("\n%s",str);
}
|
|