fgets

Чтение линии из файла, сохранение символов новой строки

Описание

пример

tline = fgets(fileID) считывает следующую линию указанного файла, включая символы новой строки.

tline = fgets(fileID,nchar) возвращается в nchar символы следующей линии.

[tline,ltout] = fgets(___) также возвращает терминаторов строки линий, если таковые имеются ltout.

Примеры

свернуть все

Считывайте одну линию из файла, сначала исключая символы новой строки, а затем включая их. Используйте следующий файл.

Чтобы считать первую линию из файла badpoem.txt, использовать fopen чтобы открыть файл. Затем прочтите первую линию используя fgetl, который исключает символ новой строки.

fid = fopen('badpoem.txt');
line_ex = fgetl(fid)  % read line excluding newline character
line_ex = 
'Oranges and lemons,'

Чтобы перечитать ту же линию из файла, сначала сбросьте индикатор положения чтения назад в начало файла.

frewind(fid);

Используйте функцию fgets, чтобы считать первую линию из файла badpoem.txt, который читает линию, включая символ новой строки.

line_in = fgets(fid) % read line including newline character
line_in = 
    'Oranges and lemons,
     '

Сравните выход путем исследования длин линий, возвращаемых fgetl и fgets функций.

length(line_ex)
ans = 19
length(line_in)
ans = 20

fgetl возвращает выход, который отображается в одной линии, в то время как fgets возвращает выход, который включает символ новой строки и, следовательно, отображает его в двух линиях.

line_ex
line_ex = 
'Oranges and lemons,'
line_in 
line_in = 
    'Oranges and lemons,
     '

Закройте файл.

fclose(fid);

Входные параметры

свернуть все

Идентификатор файла открытого файла, заданный как целое число. Перед использованием fgets чтобы считать линию из файла, необходимо использовать fopen чтобы открыть файл и получить его fileID.

Типы данных: double

Количество символов для чтения из следующей линии виде целого числа. fgets возвращается самое большее nchar символы следующей линии. Если количество символов, заданное как nchar включает символы, выходящие за пределы символа новой строки или маркера конца файла, затем fgets не возвращает никаких символов за пределы символа новой линии или маркера конца файла.

Типы данных: double

Выходные аргументы

свернуть все

Следующая линия в файле, возвращенный как вектор символов или числовой скаляр.

  • Если файл не пуст, то fgets возвращает tline как вектор символов.

  • Если файл пуст и содержит только маркер конца файла, то fgets возвращает tline как числовое значение -1.

Терминаторы строки, возвращаются как целое число.

Целые числа от 0 на 65535 соответствует Юникоду®персонажи. Можно преобразовать целые числа в соответствующие представления Юникода с помощью char функция.

Совет

  • tline не содержит символов после символов новой строки или маркера конца файла.

  • fgets считывает символы с помощью схемы кодирования, сопоставленной с файлом. Чтобы задать схему кодирования, используйте fopen.

Расширенные возможности

.
Представлено до R2006a