- 论坛徽章:
- 0
|
这是一位大侠提供的全角转换成半角的程序,在SCO中编译、执行,效果很理想。可是在AIX里再编译没问题、执行起来却没什么效果,不知道为什么,郁闷!请高手指教。\r\nmain() \r\n{ \r\nchar buf[200]; \r\nchar tbuf[200]; \r\nint i; \r\n\r\nmemset(buf,0,sizeof(buf)); \r\nmemset(tbuf,0,sizeof(tbuf)); \r\nstrcpy(buf,\"112233AABBCC--中草药\" ; \r\nqj2bj(buf,tbuf); \r\nprintf(\"buf=%s,tbuf=%s,\",buf,tbuf); \r\n} \r\n\r\nqj2bj(char *qbuf,char *bbuf) \r\n{ \r\nint i,j; \r\nchar tmpbuf[200]; \r\n\r\n\r\nj=0; \r\n\r\nmemset(tmpbuf,0,sizeof(tmpbuf)); \r\nfor(i=0;i<strlen(qbuf);i++) \r\n{ \r\n//printf(\"%d\\n\", qbuf); \r\nif(qbuf<0) \r\n{ \r\n\r\nif(qbuf==-93 ) \r\n\r\n{ \r\ni++; \r\ntmpbuf[j]=qbuf+128; \r\n}else{ \r\n\r\ntmpbuf[j]=qbuf; \r\nj++; \r\ni++; \r\ntmpbuf[j]=qbuf; \r\n\r\n} \r\n}else \r\ntmpbuf[j]=qbuf; \r\n\r\nj++; \r\n} \r\n\r\nstrcpy(bbuf,tmpbuf); \r\n} |
|