Sintaxe
FREADSTR( <expressão numérica 1>, <expressão numérica 2> )
Propósito
Lê caracteres de um arquivo binário, fornecendo uma cadeia de caracteres de até 65.536 bytes (64 K).
Argumentos
< expressão numérica 1>
Define o número de manipulação que identifica o arquivo binário a ser lido. Este número é obtido pelas funções FOPEN() ou FCREATE().
< expressão numérica 2>
Define o número de bytes a serem lidos, iniciando-se da posição atual do ponteiro de arquivos.
Utilização
Uma cadeia de caracteres nula (“”) indicará que houve algum erro ou que foi encontrado o fim do arquivo.
A partir da posição atual do ponteiro de arquivos binários, a função FREADSTR() lê o número de bytes (caracteres) especificados pela expressão numérica 2, ou até que seja encontrado um caracter nulo CHR(0). Como acontece com a função FREAD(), todos os caracteres são lidos, incluindo os de alto nível (acima do ASCII 127) e os de controle, exceto o caracter nulo CHR(0), que finaliza a leitura da função FREADSTR().
Cada caracter lido move o ponteiro de arquivos em uma posição. Se o número especificado na expressão numérica 2 for maior que o número de bytes existentes no arquivo, a partir da posição atual do ponteiro até o final do arquivo, o ponteiro será posicionado no final do arquivo.
Exemplos
O exemplo abaixo exibe os códigos ASCII dos 16 primeiros bytes de um arquivo texto:
#include "Fileio.ch"
FUNCTION LerArq()
LOCAL nHandle := FOPEN("New.txt", FC_NORMAL)
LOCAL cString := “”
IF FERROR() <> 0
MsgAlert("Erro de abertura: " + STR(FERROR()))
BREAK
ELSE
cString := FREADSTR(nHandle, 16)
MsgAlert(cString)
FCLOSE(nHandle)
ENDIF