File.println()

De ArduWiki
Revisión del 19:20 3 jul 2019 de Kike GL (Discusión | contribuciones) (Sintaxis)

Saltar a: navegación, buscar

Descripción

Cumple exactamente la misma función que File.print(), salvo que además agrega un salto de línea (el caracter de retorno del carro y nueva línea, o el literal "\r\n").

Si el "cursor" está posicionado al final del archivo (o alcanza dicho punto en el proceso), esta función lo hará crecer lo necesario para que todos los datos sean escritos. El tope de este crecimiento está en el espacio libre del "volumen" o al alcanzar los 4 GB (4294967295 bytes) de tamaño.

Si este "cursor" no está posicionado al final del archivo, entonces esta función sobrescribirá datos existentes (a partir de la posición actual); lo que hace un tanto difícil editar de esta manera texto en el archivo (imagínalo como un editor de texto dónde la tecla de retroceso no funciona, siempre en modo sobrescribir sin que se pueda cambiar al típico modo insertar, y que cada salto de línea en medio de algo borre dos caracteres en la nueva línea).

Nota: ya que es una implementación de Stream, los detalles mencionados en Stream.print() y Serial.print() también aplican aquí.


Sintaxis

File archivo = SD.open("archivo.txt", FILE_WRITE);
archivo.println();
archivo.println(cadena);
archivo.print(variable[, formato]);

Tip: La primera sintaxis se usa para agregar solamente el salto de línea.


Parametros

cadena
Un string o String. También se valen literales (texto entrecomillado) y constantes F().
variable
variable a evaluar. Esta variable puede ser de cualquier tipo.
formato
por defecto es DEC, pero puedes también usar HEX, OCT o BIN. También puede ser un valor del 0 al 7 si variable es un punto flotante, representaría la cantidad de cifras decimales a imprimir (2 por defecto).

Retorna

La cantidad de caracteres que se llegaron a escribir en el proceso (int). Puede fallar si el archivo no puede crecer, si no está abierto o no fue abierto para escritura.

Advertencias

  • Esta función siempre fallará si la instancia representa un directorio o carpeta.

Ejemplo

// Loggear lecturas analógicas
while (!digitalRead(boton)) {
  archivo.println(analogRead(A0));
}
archivo.close();

Vea también


Referencias