- 注册时间
- 2004-8-29
- 最后登录
- 1970-1-1
|
发表于 2006-2-19 18:30:00
|
显示全部楼层
汗,错误多多。。。
- #define LINE_LENTH 26
- char text2[200]={"一个十七八岁青年正在窗外的院子里练习散打功夫,他看上去的年龄要比实际年龄大好几岁,因长期习武的关系,他的眼睛露出一种坚毅的光芒,又让人觉着他有无限的心事。"};
- char text_out(addr text){
- char textY;
- char textB[LINE_LENTH+1];
- char tp,t,tpp;
-
- t=0;
- tpp=0;
- tp=0;
- textY=-12;
-
- ClearScreen();
- while (t<6){
-
- if(!(textB[tpp]=*(text+tp))){
- textY=textY+12;
- TextOut(1,textY,textB,0x40);//显示当前字串
- break;
- }
-
- if (*(text+tp)>=0xa1){//汉字
- tp=tp+2;
- tpp=tpp+2;
- textB[tpp-1]=*(text+tp-1);//添加另一半
- if (tpp==LINE_LENTH){//满行
- textY=textY+12;
- TextOut(1,textY,textB,0x40);//显示当前字串
- tpp=0;
- t++;//行号
- memset(textB,0,LINE_LENTH+1);
- continue;
- }else if(tpp>LINE_LENTH){//超出
- tp=tp-2;//指针退格
- tpp=tpp-2;
- textB[tpp]=0;
- textY=textY+12;
- TextOut(1,textY,textB,0x40);//显示当前字串
- tpp=0;
- t++;//行号
- memset(textB,0,LINE_LENTH+1);
- continue;
- }
- }else {//字符
- tpp++;
- tp++;
- if (tpp==LINE_LENTH){//满行
- textY=textY+12;
- TextOut(1,textY,textB,0x40);//显示当前字串
- tpp=0;
- t++;//行号
- memset(textB,0,LINE_LENTH+1);
- continue;
- }
- }
-
- if ((*(text+tp)==13)&&(*(text+tp+1)==10)){//回车换行
- textY=textY+12;
- TextOut(1,textY,textB,0x40);//显示当前字串
- tp=tp+2;
- tpp=0;
- t++;//行号
- memset(textB,0,LINE_LENTH+1);
- }
-
- }
- getchar();
- }
- void main(){
- ClearScreen();
- text_out(text2);
- }
复制代码
|
|