ppcode.c

来自「文本加密」· C语言 代码 · 共 57 行

C
57
字号
#include<stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

void dofile(char *in_fname, char *pwd, char *out_fname);

void main(int argc, char *argv[])
{
	char in_fname[2000];
	char out_fname[2000];
	char pwd[10];
	if (argc != 4) {
		printf("\nIn-fname:\n");
		gets(in_fname);
		printf("Password:\n");
		gets(pwd);
		printf("Out-file:\n");
		gets(out_fname);
		dofile(in_fname,pwd,out_fname);
	}
	else
	{
		strcpy(in_fname,argv[1]);
		strcpy(pwd,argv[2]);
		strcpy(out_fname,argv[3]);
		dofile(in_fname,pwd,out_fname);
	}
}

void dofile(char *in_fname, char *pwd, char *out_fname)
{
	FILE *fp1, *fp2;
	register char ch;
	int j = 0;
	int j0 = 0;
	fp1 = fopen(in_fname,"rb");
	if (fp1 == NULL) {
		printf("Cannot open in-file.\n");
		exit(1);
	}
	fp2 = fopen(out_fname,"wb");
	if (fp2 == NULL) {
		printf("Cannot open out-file.\n");
		exit(1);
	}
	while (pwd[++j0]) ;
	ch = fgetc(fp1);

	while (!feof(fp1)) {
		fputc(ch^pwd[j>=j0?j=0:j++],fp2);
		ch = fgetc(fp1);
	}

	fclose(fp1);
	fclose(fp2);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?