считывает символьную строку из файла
str = mgetstr(n, [fd])
неотрицательное целое число: количество символов, которое необходимо прочитать.
целое число: дескриптор файла, возвращаемый функцией
mopen, в котором необходимо
прочитать символы. Значение -1
ставится для
последнего открытого файла и оно является значением по умолчанию.
символьная строка, которую нужно прочитать.
Функция mgetstr
пытается прочитать
n
символов из файла. Если конец файла достигнут
прежде, чем будут прочитаны n
символов, то
mgetstr
возвращает лишь те значения, которые
удалось прочитать. Как следствие, когда курсор чтения уже в конце файла,
когда вызывается функция mgetstr
, то она возвращает
пустую строку, и при этом не важно какое значение указано для
n
.
fn = SCI + '/ACKNOWLEDGEMENTS'; // абсолютный пут до некоторого файла details = fileinfo(fn); // получение деталей о файле len = details(1); // получение длины файла fd = mopen(fn, 'rt'); // открыть файл как текст в режиме чтения str1 = mgetstr(33, fd) // прочитать 33 символа из fd length(str1) // чтение 33 символов str2 = mgetstr(272, fd) // чтение следующих 272 символов из fd length(str2) // 272 прочитанных символа mseek(len - 5); // прыжок на 5-тый символ до конца файла str3 = mgetstr(10, fd) // попытка прочесть 10 символов: возвращаются только 5 символов, больше не доступно length(str3) // да, есть 5 символов: вы просто не видите символ перевода строки :) str4 = mgetstr(10, fd) // чтение 10 символов: возврат пустой строки length(str4) // пустая строка mclose(fd); // закрытие файла | ![]() | ![]() |