FWRITE( )

 Escribe en un fichero binario abierto

Sintaxis

     FWRITE(, , []) –> nBytesEscritos

Argumentos

es el manejador de ficheros obtenido de FOPEN(), FCREATE() o predefinido por el DOS.

es la cadena de caracteres que debe escribirse en el fichero especificado.

indica el número de bytes que debe escribirse, comenzando en la posición del puntero de fichero actual. Si se omite, se escribe todo el contenido de .

Devuelve

FWRITE() devuelve el número de bytes escritos como un valor numérico entero. Si el valor devuelto es igual a , la operación ha resultado satisfactoria. Si el valor de retorno es menor que o es cero, es debido a que el disco está lleno o se ha producido otro error.

Descripción

FWRITE() es una función de fichero de bajo nivel que escribe datos en un fichero binario abierto desde una memoria intermedia de cadena de caracteres. Puede escribir todo el contenido de la memoria intermedia o tan solo una parte. La escritura comienza en la posición actual del fichero y la función devuelve el número real de bytes escritos.

Si FWRITE() produce una condición de error, puede utilizar FERROR() para determinar el error específico.

¡Advertencia! Esta función permite el acceso de bajo nivel a los ficheros y dispositivos del DOS. Debe utilizarse con gran precaución y requiere un profundo conocimiento del sistema operativo.

Ejemplos

     ¦  En este ejemplo se copia el contenido de un fichero en otro:

        #include “Fileio.ch”

        #define BLOQUE_F      512

        //

        cMemInter := SPACE(BLOQUE_F)

        nFichEnt := FOPEN(“Temp.txt”, FO_READ)

        nFichSal := FCREATE(“NuevFich.txt”, FC_NORMAL)

        lHecho := .F.

        //

        DO WHILE !lHecho

           nBytesLec := FREAD(nFichEnt, @cMemInter, BLOQUE_F)

           IF FWRITE(nFichSal, cMemInter, nBytesLec) < ;

                       nBytesLec

              ? “Fallo de escritura: “, FERROR()

              lHecho := .T.

           ELSE

              lHecho := (nBytesLec == 0)

           ENDIF

        ENDDO

        //

        FCLOSE(nFichEnt)

        FCLOSE(nFichSal)

 Ficheros:  La biblioteca asociada es DPXBASE.CH.