我想要把/**/這樣註解裡面的文字都上弄成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 ]|[ ���O���� cpu.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊Author ]|[122-116-50-107.hinet-ip.hi]|[���插�﹊:]=