Задание 3. Имеется некоторый текстовый файл

Имеется некоторый текстовый файл. Создать функцию code_text (), которая переписывает информацию из одного текстового файла в другой, зашифровывая её. Ключ шифра задать самостоятельно (исходный файл содержит информацию только из латинских букв).

function code_text(filename)

if ~ischar(filename)

errar(' Имя файла должно быть строкой!')

end

fidr=fopen(filename, 'rt');

if fidr == -1

error(' Ошибка при открытии файла! ')

end

fidw=fopen('coded','wt');

if fidw == -1

error(' Ошибка при открытии файла! ')

end

while ~ feof(fidr)

str=fgetl(fidr);

pos = findstr('e',str);

pos1= findstr('n',str);

pos2= findstr('o',str);

pos3= findstr('t',str);

pos4= findstr(' ',str);

if (length(pos) >0) || (length(pos1) >0) || (length(pos2) >0)|| (length(pos3) >0)|| (length(pos4) >0)

for k=length(pos):-1:1

str= [str(1:(pos(k)-1)) '1', str((pos(k)+1):length(str))];

end

for k = length(pos1):-1:1

str= [str(1:(pos1(k)-1)) '2', str((pos1(k)+1):length(str))];

end

for k=length(pos2):-1:1

str= [str(1:(pos2(k)-1)) '3', str((pos2(k)+1):length(str))];

end

for k=length(pos3):-1:1

str= [str(1:(pos3(k)-1)) '4', str((pos3(k)+1):length(str))];

end

for k=length(pos4):-1:1

str= [str(1:(pos4(k)-1)) 'enot', str((pos4(k)+1):length(str))];

end

fprintf(fidw,'%s\n',str)

else

fprintf(fidw,'%s\n',str)

end

end

fclose(fidr);fclose(fidw);

one two thry for fife sex seven aight nine ten

преобразуется в:

321enot4w3enot4hryenotf3renotfif1enots1xenots1v12enotaigh4enot2i21enot412

Вывод: С помощью системы MatLab можно работать с файлами, в частности создавать, изменять, считывать и удалять текстовые и двоичные файлы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: