免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2636 | 回复: 5
打印 上一主题 下一主题

关于终端显示光标处乱码的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-08 12:27 |只看该作者 |倒序浏览
版本:Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
Linux version 2.6.9-22.0.1_svr_12ccbsmp (root@broad-build) (gcc version 3.4.4 20
050721 (NeoShine 3.4.4-2)) #1 SMP Fri May 25 14:19:08 CST 2007
TERM=vt220
LANG=C
LC_ALL=zh_CN.GB18030
终端类型为国光的,可是应该和这个的关系不大吧,都是通过终端服务器登录的;
我在终端显示菜单的时候,选择下拉列表后刷新屏幕,可是在光标处总是有一个字符的乱码? 请知道的指导一下,谢谢了
并且我用netterm直接登录,好像光标处的乱码有的时候就没有了;  但是如果是telnet登录,光标处又会有一个字符的乱码?郁闷啊!!!!!
请各位帮帮忙,谢谢了

int
Test_Restore(WINDOW *pWin, chtype **pctBuf, int nBeginX, int nBeginY, int nWidth, int nHeight)
{
        chtype *p;
        int i,j;

        p=*pctBuf;
        if(p==NULL) return -1;
        wmove(pWin,nBeginY,nBeginX);
        wrefresh(pWin);

        for(i=nBeginY;i<nBeginY+nHeight;i++)
                for(j=nBeginX;j<nBeginX+nWidth;j++){
                        wattrset(pWin,(*p)&A_ATTRIBUTES);
#ifdef __HP_OS__
                        mvwaddwch(pWin,i,j,(*p)&A_CHARTEXT);
#else
                        mvwaddch(pWin,i,j,(*p)&A_CHARTEXT);
#endif
                        wattrset(pWin,A_NORMAL);
                        p++;
                }
       
        touchwin(pWin);
        wrefresh(pWin);

        FREE(*pctBuf);
        SetNumLock(TRUE);
       
        return 0;
}

int
Test_TermList(WINDOW *pOrgWin, LIST *pList, FILE **fd, FILE **fdInx, FILE **fdTerm, int c, int *pnNumReturned, void *ppRowsReturned[], int nMaxNumReturned, void *pBuffer, int nBufSize)
{
        int nTermFd;
        int i=0;
       
        nTermFd=fileno(*fdTerm);
        delwin(pList->pWin);
        tcdrain(nTermFd); /* 同步终端与输出 */
        Test_Restore(pOrgWin, &pList->ctSave, pList->nX, pList->nY, pList->nWidth, pList->nHeight);
        wattrset(pOrgWin, lOldAttrs);
       
        tcdrain(nTermFd); /* 同步终端与输出 */
        tcflush(nTermFd, TCIOFLUSH);
        fclose(*fdTerm);

        if(c!=WESC)
        {
                GetReturnRows(pList, *fd, *fdInx, pnNumReturned, ppRowsReturned, nMaxNumReturned, pBuffer, nBufSize);
        }
        else
        {
                *pnNumReturned=0;
                *((char *)pBuffer)=0;
                for(i=0; i<nMaxNumReturned; i++)
                        ppRowsReturned=NULL;
        }

        fclose(*fd);
        fclose(*fdInx);
        FreeGblVar();
        pList->pczRowBuf=NULL;

        return 0;
}

论坛徽章:
0
2 [报告]
发表于 2008-12-08 23:03 |只看该作者
哪位老大能帮帮忙!!!!!!!!!!!!!!!!

论坛徽章:
0
3 [报告]
发表于 2008-12-09 20:29 |只看该作者
各位高手帮一下啊啊啊啊啊啊啊啊啊啊啊 啊啊

论坛徽章:
0
4 [报告]
发表于 2008-12-10 21:00 |只看该作者
光标处的乱码是不是和共享内存有关联???????

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
5 [报告]
发表于 2008-12-10 21:04 |只看该作者
先把代码用 [code][/code] 括起来吧

论坛徽章:
0
6 [报告]
发表于 2008-12-11 23:32 |只看该作者
有没有人提供一些意见呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP