📄 hzkdemo.cpp
字号:
// Borland C++ - (C) Copyright 1991 by Borland International
/* HZK16.CPP */
/* 2003-09-13 */
/* autor: zzwj5120
e-mail: zzwj5120@sina.com
*/
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include "gethzdz.cpp"
unsigned long gethzdz(int n);
extern unsigned char hzdz[32];
void main(int argc, char* argv[]) // access command-line arguments
{
FILE *fp1,*fp2;
union word0
{
unsigned long int ll;
struct bytes0
{
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
}st0;
}un0;
char line[16];
union word
{
unsigned int ab;
struct bytes
{
unsigned char a;
unsigned char b;
}st;
}un;
int ch,i,k;
//start
clrscr();
argv[1]="FILE1.TXT";//source file
argv[2]="FILE2.TXT";//create new file
if (argc!=3) // test number of arguments
{
printf("the paramers is < 3 \n");
cout<< "USAGE: HZKDEMO.EXE FILE1.TXT FILE2.TXT \n";
getch();
//return;
}
if((fp1=fopen(argv[1],"rb"))==NULL)
{
cout<<"read FILE1.TXT error !";
getch();
return;
}
if((fp2=fopen(argv[2],"rb"))==NULL)
{
if((fp2=fopen(argv[2],"wb"))==NULL)
{
cout<<"creat FILE2.TXT error!";
getch();
return;
}
}
else
{
cout<<"the FILE2.TXT already exist!";
cout<<"Do you delete target file(y/n)?"<<endl;
ch=getchar();
if(ch=='y'||ch=='Y')
{
if((fp2=fopen(argv[2],"wb"))==NULL)
{
cout<<"the FILE2.TXT open error!";
getch();
return;
}
}
else
return;
}
clrscr();
un.st.b=fgetc(fp1);
un.st.a=fgetc(fp1);
printf("\nread FILE1.TXT: ");
printf("un.st.b = %x un.st.a = %x ",un.st.b,un.st.a);
printf(" un.ab = %x",un.ab);
getch();
while(1)
{
if(feof(fp1))
{
cout<<"the FILE1.TXT have finished!\n";
getchar();
break;
}
un0.ll=gethzdz(un.ab);
//for(i=0;i<32;i++)
// hzdz[i]=fgetc(fp1);
fputc(0x0d,fp2);
fputc(0x0a,fp2);
for(i=0;i<32;)
{
for(char j=0;j<8;j++)
{
k=7-j;
line[j]=(hzdz[i])>>k;
line[j]&=0x01;
}
i++;
for(;j<16;j++)
{
k=15-j;
line[j]=(hzdz[i])>>k;
line[j]&=0x01;
}
i++;
for(j=0;j<16;j++)
{
if(line[j])
printf("o",line[j]);
else
printf(" ");
}
cout<<endl;
for(j=0;j<16;j++)
{
if(line[j])
{
fputc(' ',fp2);
fputc('o',fp2);
}
else
{
fputc(' ',fp2);
fputc(' ',fp2);
}
}
fputc(0x0d,fp2);
fputc(0x0a,fp2);
}
fputc(0x0d,fp2);
fputc(0x0a,fp2);
fprintf(fp2,"position = %d",un0.st0.d);
fprintf(fp2,"%d",un0.st0.c);
fprintf(fp2,"%d",un0.st0.b);
fprintf(fp2,"%dH BYTE",un0.st0.a);
fprintf(fp2,"%c%c = 32*((FIRST-0xA1)*94+(SECOND-0xA1));",0x0d,0x0a);
fputc(0x0d,fp2);
fputc(0x0a,fp2);
printf("\nposition = %x",un0.st0.d);
printf("%x",un0.st0.c);
printf("%x",un0.st0.b);
printf("%xH BYTE\n = 32*((FIRST-0xA1)*94+(SECOND-0xA1));\n",un0.st0.a);
cout<<"\ncontinue(y/n)?\n";
ch=getchar();
if(ch=='n')
break;
un.st.b=fgetc(fp1);
un.st.a=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -