Función ReadDat () para lograr la lectura de un artículo en Inglés desde el archivo ENG.IN, depositado en una matriz de cadenas en xx; prepare encryptChar función (), de acuerdo con los sustitutos dados todos los personajes de la serie xx ser sustituidos, en una matriz correspondiente a las posiciones xx todavía, después de la llamada de función WriteDat () para dar como resultado PS1.DAT xx salida a un archivo.
Alternativamente, la relación: f (p) = p * 11 mod 256 (p es el valor ASCII de un solo array de caracteres, f (p) es el valor ASCII del carácter nuevo después del cálculo) de valor, si f calculado (p) de menos de o igual a 32 o mayor que 130, entonces el carácter sin cambios, de lo contrario f (p) correspondiente al carácter en su lugar. (Nótese que la variable intermedia con el entero sin signo), el formato de los archivos de datos originales son: la anchura de cada fila es de menos de 80 caracteres.
#include <stdio.h>
#include <string.h>
#include <conio.h>
# include <ctype.h>
unsigned char xx [50] [80];
int MaXLine = 0; / número total de filas de artículos /
int ReadDat (void);
void WriteDat (void);
encryptChar vacío ()
{
int i, j;
for (i = 0; i <MaXLine; i ++)
para (j = 0; j <strlen (xx [i]); j ++)
si (xx [i] [j] * 11% 256 <= 32 || xx [i] [j] * 11% 256> 130) siguen;
otro xx [i] [j] = xx [i] [j] * 11% 256;
}
vacío principal()
{
clrscr ();
if (() ReadDat) {printf ( "No se puede abrir el archivo de datos ENG.IN \ n \ 007!");
regreso;
}
encryptChar ();
WriteDat ();
}
int ReadDat (void)
{
FILE * fp;
int i = 0;
unsigned char * p;
if ((fp = fopen ( “eng.in”, “r”)) == NULL) de regreso 1;
while (fgets (xx [i], 80, fp)! = NULL) {
p = strchr (xx [i], '\ n');
if§ * p = 0; i ++; } MaXLine = i;
fclose (fp); return 0;
}
WriteDat vacío (vacío)
{
FILE * fp;
int i;
fp = fopen ( "ps1.dat", "w");
for (i = 0; i <MaXLine; i ++) {
printf ( "% s \ n", xx [i]);
fprintf (fp, "% s \ n", xx [i]);
}
fclose (fp);
}