File.print()

De ArduWiki
Revisión del 21:36 12 may 2019 de Lucario448 (Discusión | contribuciones) (Página creada con «== Descripción == Escribe (al archivo) un dato mediante la representación textual de su valor, haciendo esta función útil para archivos de texto plano (ej.: .txt, .csv)...»)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Descripción

Escribe (al archivo) un dato mediante la representación textual de su valor, haciendo esta función útil para archivos de texto plano (ej.: .txt, .csv).

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

archivo.print(cadena);
archivo.print(variable[, formato]);

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).

Nota: Equivaldría al File.write() de un solo byte si variable es de tipo char.


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)); // Ya sé que no es print() exactamente, pero se usa de la misma manera.
}
archivo.close();

Vea también

Referencias