编程技术、软件应用与系统模拟

(Programming, Applicaiton and Simulation)



本站目录

 

首页
ASP/Access/IIS
DELPHI/PASCAL
PASCAL高级编程
C语言编程实例
WORD
Excel
MATLAB
MINITAB讲座
Windows
DOS
SAS
生物系统模拟
土壤水分剖析器
其他



镜像站点

 

主站
北美镜象站
欧洲镜象站(1)
欧洲镜象站(2)

本站 Google

[搜索]  [站内导航]
座右铭:
只做有益人类的事
不做有害人类的事


四通-PC文本文件转换程序

一、四通和PC的汉字文本文件的差别

四通高级中英文打字机具有极强的文字处理能力,而PC机则有很大的灵活性,有许多优秀的中文编辑排版软件
可用,所以在四通打字机与PC机之间传递文件有一定的必要性。四通打字机的汉字机内码与PC机CCDOS的汉字
机内码的差别主要是高位字节不同,前者高位的ASCII码比后者的小80H,另一方面的差别是在四通打字机WP系
统下录入的文件,其每个软回车(其ASCII码为8DH)前有两个特殊的编辑字符,第一个字符的ASCII码为8EH。
通过以上的分析,作者用TURBO C 2.0编写了一个用于转换两种机器之中文文本文件的程序STPC.C,该程序
经编译生成执行文件即可使用。

二、程序的使用方法

该程序采用命令行启动:
     STPC <输入文件> <输出文件>
其中,若“输入文件”为四通打字机的文本文件,则“输出文件”为PC机CCDOS的文本文件;若“输入文件”
为PC机CCDOS的文本文件,则“输出文件”为四通打字机的文本文件。用该程序转换生成的CCDOS格式文件,可
在WS下直接编辑、修改或打印, 而生成的四通打字机格式的文件, 能在四通机的WP系统下直接处理。

三、源程序清单
/********************************************************/
/*  程序名称: STPC.C 1.10                               */
/*  作    者: 董占山                                    */
/*  完成日期: 1991,1995                                 */
/*  用    途: 对PC机和四通打字机的文本文件进行相互转换  */
/*  编译方法: 用下列命令编译连接可以得到STPC.COM:       */
/*  tcc -mt stpc                                        */
/*  tlink c:\tc\lib\c0t+stpc,stpc,,c:\tc\lib\cs\lib /t  */
/********************************************************/

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

/* 显示程序的使用方法 */
void help()
{
  printf("Syntex: STPC <input file> <output file>\n");
  exit(0);
}

/* 主程序 */
main(argc,argv)
int argc;
char *argv[];
{
  FILE *f1,*f2;
  unsigned int ch;
  char fil1[80],fil2[80];
  printf("STPC Version 1.10 Copyright (c) 1991,95 Dong Zhanshan\n");
  if (argc<3) help();
  strcpy(fil1,argv[1]);
  strcpy(fil2,argv[2]);
  if ((f1=fopen(fil1,"rb"))==NULL) {
     printf("Error : input file not found !\n");
     help();
     }
  if ((f2=fopen(fil2,"wb"))==NULL) {
     printf("Error : output file can not be opened !\n");
     help();
     }
  do {
    ch = fgetc(f1);
    if ((ch>=0xA1) && (ch<=0xFF)) {
	fputc(ch,f2);
	ch = fgetc(f1);
	ch =+ 0x80;
	}
    if (ch==0x8E) {
	ch = fgetc(f1);
	ch = fgetc(f1);
	}
    fputc(ch,f2);
  } while (!feof(f1));
  fclose(f1);
  fclose(f2);
  return 0;
}

© 1998-, 董占山, 版权所有。
转载文章请注明出处(www.sunfinedata.com/articles)。