exponenta event banner

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