Descrição
Escreve dados de um buffer de string em um arquivo binário. Para isso, pode-se escrever todo ou parte do conteúdo do buffer, limitando a quantidade de bytes. |
Sintaxe
fWrite( <nHandle>, <cBuffer>, <nQtdBytes> ) |
Parâmetros
Par | Nome | Tipo | Descrição | Default | Obg | Ref |
01 |
nHandle | Numérico | Indica o manipulador de arquivo obtido através das funções FCreate() e FOpen() | X | ||
02 | cBuffer | Caracter | Indica a string que será escrita no arquivo especificado. O tamanho desta variável deve ser maior ou igual ao tamanho informado no parâmetro (caso seja informado o tamanho) | X | ||
03 | nQtdBytes | Numérico | Indica a quantidade de bytes que serão escritos a partir da posição atual do ponteiro de arquivos. Caso não seja informado, todo o conteúdo do parâmetro é escrito |
Retorno
Retorno | Tipo | Descrição |
nRet | Numérico |
Retorna a quantidade de bytes escritos na forma de um valor numérico inteiro. Caso o valor seja igual ao parâmetro <nQtdBytes>, a operação foi realizada com sucesso; caso contrário, se o valor for menor ou zero, o disco rígido está cheio ou ocorreu erro |
Exemplo
#INCLUDE "TOTVS.CH" #INCLUDE 'FILEIO.CH' User Function fWrite() Local cString := '' Local nHandle := fOpen('\TEST.TXT' , FO_READWRITE + FO_SHARED ) If nHandle == -1 MsgStop('Erro de abertura : FERROR ' + Str(fError(), 4), 'UniversoADVPL' ) Else FSeek(nHandle, 0, FS_END) // Posiciona no fim do arquivo FWrite(nHandle, "Nova Linha", 10) // Insere texto no arquivo fclose(nHandle) // Fecha arquivo Endif Return( Nil )
Resultado
Informações adicionais
A escrita começa a partir da posição atual do ponteiro de arquivos e a função retorna a quantidade real de bytes escritos |
Através das funções FOpen() e FCreate(), pode-se abrir ou criar um arquivo, abrir uma porta de comunicação para gravar ou enviar os dados do buffer informado |
Essa função suporta na string, do parâmetro , todos os caracteres da tabela ASCII, inclusive caracteres de controle (ASC 0, ASC 12, ASC 128, etc.). |
A gravação no arquivo é realizada a partir da posição atual do ponteiro, mas pode ser ajustado através das funções FSeek(), FRead() ou FReadStr() |
Se o retorno da função for menor que o parâmetro ou zero, o disco rígido está cheio ou ocorreu erro. Neste caso, utilize a função FError() para obter mais detalhes |
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎