fgets

Считайте строку из файла, сохранив символы новой строки

Синтаксис

tline = fgets(fileID)
tline = fgets(fileID,nchar)

Описание

пример

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

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

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

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

Примеры

свернуть все

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

Чтобы считать первую строку из файла 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,
     '

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

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

Советы

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

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

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

Была ли эта тема полезной?