FOR J=128 TO 175: Т01251{J)=J+64: NEXT J
' Заменяем все символы псевдографики знаком "+"
FOR J=176 TO 223: Т01251(J)=ASC("+"): NEXT J
' Заменяем одинарную вертикальную черту
t01251(179)=ASC("|")
' Заменяем двойную вертикальную черту
t01251(186)=ASC("|")
' Заменяем одинарную горизонтальную черту
t01251(196)=ASC("-")
' Заменяем двойную горизонтальную черту
t01251(205)=ASC("=")
' Увеличиваем на 16 коды букв от "р" до "я"
FOR J=224 TO 239: Т01251(J)=J+16: NEXT J
t01251(240)=168: ' Заменяем код буквы "ё"
t0125К241) =184: ' Заменяем код буквы "Ё"
END SUB
Программа 7_05.с
#include <stdio.h>
#include <conio.h>
#include <string.h>
void to_win(void);
unsigned char to!251[256];
main(int narg, char **argv) {
FILE *fin,*fout;
unsigned char str[80],source[80];
int j,len;
if(narg==2) strcpy(source,argv[l]);
else {
printf("\n Задайте имя исходного файла - ");
scanf("%s",source); }
to_win();
fin=fopen(source,"rt");
fout=fopen("tmpwin.txt","wt");
while (Ifeof(fin)) {
fgets(str,80,fin);
len=strlen(str);
for(j=0; j<len; j++)
str[j]=to!251[str[j]];
fputs(str,fout);
}
fcloseall() ;
}
/*------------------------------------*/
void to_win(void) {
/* Формирование словаря перекодировки из MS-DOS в Windows */
int i ; /* Сохраняем первую половину таблицы ASCII */
for (i=0; i<128; i++) to1251[i]=i;
/* Увеличиваем на 64 коды букв от "А" до "n" */
for(1=128; i<176; i++)
to1251[i]=i+64;
/* Заменяем все символы псевдографики знаком "+" */
for(1=176; i<224; i++) to1251 [!] = ' + ';
и
/* Заменяем одинарную вертикальную черту */
to1251[179]='|'; /* Заменяем двойную вертикальную черту */
to1251[186]='|'; /* Заменяем одинарную горизонтальную черту */
to1251[196]='-'; /* Заменяем двойную горизонтальную черту */