Имеется некоторый текстовый файл. Создать функцию 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 можно работать с файлами, в частности создавать, изменять, считывать и удалять текстовые и двоичные файлы.