[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 编程技术 > 源码天堂 > 正文
C源码:TxtBs.C --- 文本文件退格键字符处理
本文出自:http://mly363.363.net 作者: (2001-08-22 16:32:45)
/*
   TxtBs.C --- 文本文件退格键字符处理, 用于代替 UNIX 的 col -b 命令
   M.L.Y  2000.4.20

   注: UNIX 的 col -b 不能正确处理下划线,退格键,空格三个字符的情况(它体现
       了打印效果,即保留下划线).
       本程序碰到退格键则删除其前一字符及其本身. 最大行长1022个字符.
*/

#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
  char s1[1024], s2[1024], *p1;
  int  i, j;

  if(argc >= 2 && (strcmp(argv[1], "/?") == 0 || strcmp(argv[1], "-?") == 0
     || strcmp(argv[1], "?") == 0))
  {
    printf("%s - 文本文件退格键字符处理, 用于代替 UNIX 的 col -b 命令\n",
      argv[0]);
    printf("M.L.Y  2000.4.20\n");
    return 0;
  }
  while(1)
  {
    p1 = gets(s1);
    if(p1 == NULL) break;
    for(i = 0, j = 0; ; i++)
    {
      if(s1[i] != 0x08)
        s2[j++] = s1[i];
      else
      {
        if(j > 0) j--;
      }
      if(s1[i] == 0)
        break;
    }
    puts(s2);
  }
  return 1;
}

(http://www.fanqiang.com)
    进入【UNIX论坛

相关文章
 

★  樊强制作 欢迎分享  ★