# mgetstr

считывает символьную строку из файла

## Последовательность вызова

    str = mgetstr(n, [fd])

## Аргументы

n

  неотрицательное целое число: количество символов, которое необходимо прочитать.

fd

  целое число: дескриптор файла, возвращаемый функцией mopen, в котором необходимо прочитать символы. Значение `-1` ставится для последнего открытого файла и оно является значением по умолчанию.

str

  символьная строка, которую нужно прочитать.

## Описание

Функция `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);                     // закрытие файла

## Смотрите также

- mclose
- meof
- mfprintf
- fprintfMat
- mfscanf
- fscanfMat
- mget
- mopen
- mprintf
- mput
- mputstr
- mseek
- mtell
- mdelete
- "Input/Output functions" section