回文章列表
作者AikoSenoo.bbs@cpu.tfcis.org (阿南) 看板: itoc
標題[問題] 有關註解上色
時間動力核心 (2008/09/03 Wed 21:20:52)
我想要把/**/這樣註解裡面的文字都上弄成1;30的顏色

可是我卻遇到了一些瓶頸,就是我偵測遇到*/就把前面的文字印出
然後把指標移到*/後面一格的位置

然而我一開始用逐字輸出的outc()
雖然可以達成以上效用,但在
裡面夾全形字的時候,就會發生無法正確顯示的情形
但如果我把指標改成每兩個移動一次,先存放到另一個陣列裡,
然後用outs()輸出
就會發生錯誤的輸出
(比如說少了幾個字這樣)


我的程式碼大概長這樣:
        outs("\033[1;30m");
        for(i=2; str[i+1] != '\0'; i++)
        {
            if(str[i] == '*' && str[i+1] == '/')
            {
                for(j=0; j<i+2; j+=2)
                {
                    k = 1;
                    word[0] = str[0];
                    if(str[1] != NULL)
                    {
                        k++;
                        word[1] = str[1];
                    }
                    word[k + 1] = '\0';
                    str += k;
                    outs(word);
                }
                outs("\033[m");
                ps = 0;
                ansi = 0;
                break;
            }
        }


不知道有沒有辦法解決,懇請前輩們指點了!

--
=[:摃��:﹎Origin ]|[  Ocpu.tfcis.org  ]|[�搟說:]=
=[:摃�╱�:Author ]|[122-116-50-107.hinet-ip.hi]|[�:]=
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻