Contenido principal

fgets

Leer una línea de un archivo, manteniendo caracteres de línea nueva

Descripción

tline = fgets(fileID) lee la siguiente línea del archivo especificado, incluyendo los caracteres de línea nueva.

ejemplo

tline = fgets(fileID,nchar) devuelve hasta nchar caracteres de la siguiente línea.

[tline,ltout] = fgets(___) también devuelve los terminadores de línea de ltout, si los hubiera.

Ejemplos

contraer todo

Lea una única línea de un archivo, primero excluyendo caracteres de línea nueva y, después, incluyéndolos. Utilice el siguiente archivo.

Para leer la primera línea del archivo badpoem.txt, utilice fopen para abrir el archivo. A continuación, lea la primera línea usando fgetl, que excluye el carácter de línea nueva.

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

Para volver a leer la misma línea del archivo, primero restablezca el indicador de posición de lectura de nuevo al inicio del archivo.

frewind(fid);

Utilice la función fgets para leer la primera línea del archivo badpoem.txt, que lee la línea incluyendo el carácter de línea nueva.

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

Compare la salida examinando las longitudes de las líneas devueltas por las funciones fgetl y fgets .

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

fgetl devuelve una salida que se muestra en una línea, mientras que fgets devuelve una salida que incluye el carácter de línea nueva y, por tanto, se muestra en dos líneas.

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

Cierre el archivo.

fclose(fid);

Argumentos de entrada

contraer todo

Identificador de archivo de un archivo abierto, especificado como entero. Antes de utilizar fgets para leer una línea del archivo, debe utilizar fopen para abrir el archivo y obtener su identificador fileID.

Tipos de datos: double

Número de caracteres que desea leer de la siguiente línea, especificado como entero. fgets devuelve como máximo nchar caracteres de la siguiente línea. Si el número de caracteres especificado por nchar incluye caracteres más allá del carácter de línea nueva o del marcador de fin de archivo, fgets no devuelve ningún carácter más allá del carácter de línea nueva o del marcador de fin de archivo.

Tipos de datos: double

Argumentos de salida

contraer todo

Siguiente línea en el archivo, devuelta como vector de caracteres o escalar numérico.

  • Si el archivo no está vacío, fgets devuelve tline como vector de caracteres.

  • Si el archivo está vacío y contiene solo el marcador de fin del archivo, fgets devuelve tline como valor numérico -1.

Terminadores de línea, devueltos como entero.

Los enteros desde 0 hasta 65535 se corresponden con caracteres Unicode®. Puede convertir enteros a sus representaciones Unicode correspondientes utilizando la función char.

Sugerencias

  • tline no incluye ningún carácter después de los caracteres de línea nueva ni el marcador de fin de archivo.

  • fgets lee caracteres usando el esquema de cifrado asociado con el archivo. Para especificar el esquema de codificación, utilice fopen.

  • Para leer líneas de un archivo mientras se eliminan los caracteres de línea nueva, utilice fgetl.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo