[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > 源碼天堂 > 正文
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論壇

相關文章
 

★  樊強制作 歡迎分享  ★