File.write()

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

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

Descripción

Escribe datos binarios ("crudos") al archivo, haciendo esta función útil para archivos binarios (con contenido diferente al texto plano).

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 reemplazar valores en registros de longitud variable.

Sintaxis

File archivo = SD.open("archivo.txt", FILE_WRITE);
archivo.write(val);
archivo.write(str);
archivo.write(buf, len);

Parametros

val
Valor como un solo byte o variable (el byte menos significativo en caso de ser más grande).
str
Cadena como una serie de bytes (string).
buf
Matriz enviada como una serie de bytes (byte*).
len
Largo de la matriz en bytes (int).

Retorno

La cantidad real de bytes que se escribieron con éxito (int). Puede fallar si el archivo no puede crecer, si no está abierto o no fue abierto para escritura.

Advertencias

  • Para escribir los caracteres que representan los dígitos de un número, use la función File.print() en su lugar.
  • Esta función siempre fallará si la instancia representa un directorio o carpeta.

Ejemplo

while (Serial.available()) {
  archivo.write(Serial.read()); // Vuelca el contenido "crudo" o binario del puerto serial, al archivo
}

Vea también


Referencias