FileReadString

A função lê uma string a partir da posição atual do ponteiro de arquivo dentro de um arquivo.

string  FileReadString(
   int  file_handle,     // Manipular arquivo
   int  length=-1        // Comprimento string
   );

Parâmetros

file_handle

[in]  Descritor de arquivo retornado pelo FileOpen().

length=-1

[in]  Número de caracteres para ler.

Valor do Retorno

Ler linha (string).

Observação

Quando ler a partir de um arquivo bin, o tamanho de uma string para ler deve ser especificada. Quando ler a partir de um arquivo txt, o tamanho da string não é necessária, e a string será lida a partir da posição atual para a alimentação da linha caractere "\r\n". Quando ler a partir de um arquivo CSV,o tamanho da string não é necessária também, a string será lida a partir da posição atual até o mais próximo delimitador ou até string de texto caractere final.

Se o arquivo é aberto com a bandeira FILE_ANSI, então a linha lida é convertida para um Unicode.

Exemplo (o arquivo obtido após a execução do exemplo pela função FileWriteInteger é usado aqui)

//--- mosta a janela dos parâmetros de entrada quando lançado o script
#property script_show_inputs
//--- paramêtros para leitura de dados
input string InpFileName="Trend.bin"// file name
input string InpDirectoryName="Data"// nome do diretório
//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)                        |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- abre o arquivo
   ResetLastError();
   int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_BIN|FILE_ANSI);
   if(file_handle!=INVALID_HANDLE)
     {
      PrintFormat("%s arquivo está disponível para leitura",InpFileName);
      PrintFormat("Caminho do arquivo: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
      //--- variáveis ​​adicionais
      int    str_size;
      string str;
      //--- ler dados de um arquivo
      while(!FileIsEnding(file_handle))
        {
         //--- descobrir quantos símbolos são usados ​​para escrever o tempo
         str_size=FileReadInteger(file_handle,INT_VALUE);
         //--- ler a string
         str=FileReadString(file_handle,str_size);
         //--- imprimir a string
         PrintFormat(str);
        }
      //--- fechar o arquivo
      FileClose(file_handle);
      PrintFormat("Dados são lidos, %s arquivo está fechado",InpFileName);
     }
   else
      PrintFormat("Falha para abrir %s arquivo, Código de erro = %d",InpFileName,GetLastError());
  }

Também Veja

Tipo string, Conversão de Dados, FileWriteInteger