FWRITE()
 Escreve em um arquivo binário aberto
------------------------------------------------------------------------------

 Sintaxe

     FWRITE(<nHandle>, <cBuffer>, [<nBytes>]) --> nBytesEscritos

 Argumentos

     <nHandle> é o handle do arquivo obtido de FOPEN() ou FCREATE(), ou
     um que tenha sido pré-definido pelo DOS.

     <cBuffer> é a cadeia de caracteres a ser escrita no arquivo
     especificado.

     <nBytes> indica a quantidade de bytes a serem escritos a partir da
     posiçao corrente do ponteiro de arquivos.  Caso seja omitido, todo o
     conteúdo de <cBuffer> é escrito.

 Retorno

     FWRITE() retorna a quantidade de bytes escritos na forma de um valor
     numérico inteiro.  Caso o valor retornado seja igual a <nBytes>, a
     operaçao foi bem sucedida.  Caso o valor de retorno seja menor que
     <nBytes> ou zero, ou o disco está cheio ou ocorreu outro erro.

 Descriçao

     FWRITE() é uma funçao de tratamento de arquivos de baixo nível,
     utilizada para escrever dados de um buffer de cadeia de caracteres em
     um arquivo binário.  Você pode escrever todo ou parte do conteúdo do
     buffer.  A escrita começa a partir da posiçao corrente do ponteiro de
     arquivos, e a funçao retorna a quantidade real de bytes escritos.

     Se FWRITE() resultar em uma condiçao de erro, FERROR() pode ser
     utilizado para determinar este erro específico.

     -----------------------------------------------------------------------
     . Aviso

     Esta funçao permite acesso de baixo nível a arquivos e dispositivos
     DOS.  Ela deve ser utilizada com extremo cuidado e exige que se conheça
     a fundo o sistema operacional.
     -----------------------------------------------------------------------

 Exemplos

     Este exemplo copia o conteúdo de um arquivo para outro:

     #include "Fileio.ch"
     #define F_BLOCK  512
     //
     cBuffer = SPACE(F_BLOCK)
     nInfile = FOPEN("Temp.txt", FO_READ)
     nOutfile = FCREATE("Newfile.txt", FC_NORMAL)
     lDone = .F.
     //
     WHILE !lDone
        nBytesRead = FREAD(nInfile, @cBuffer, F_BLOCK)

        IF FWRITE(nOutfile, cBuffer, nBytesRead) < nBytesRead
           ? "Erro de gravaçao: ", FERROR()
           lDone = .T.
        ELSE
           lDone = (nBytesRead == 0)
        ENDIF
     ENDDO
     //
     FCLOSE(nInfile)
     FCLOSE(nOutfile)

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: FCLOSE() FCREATE() FERROR() FOPEN() I2BIN() L2BIN()