File.println()

De ArduWiki
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.

Comentarios

Los literales de caracteres y cadenas también pueden representar caracteres especiales que son difíciles o imposibles de expresar de otra manera en el código fuente de un programa, como "nueva linea" (\n) o "tab" (\t). Estos caracteres especiales son todos precedidos por un carácter de barra diagonal inversa (\).

Codigos de escape
Código Descripción ASCII DEC
\n nueva línea LF 10
\r retorno de carro CR 13
\t tabulacion horizontal HT 9
\v tabulacion vertical VT 11
\b retroceso BS 8
\f salto de página FF 12
\a alerta (pitido) BELL 7
\' comilla simple ' 39
\" comillas dobles " 34
\? signo de interrogación ? 63
\\ barra invertida \ 47

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