FileReadString

Lit du fichier la chaîne de la position courante de l'indicateur de fichier.

string  FileReadString(
   int  file_handle,     // handle du fichier
   int  length=-1        // longueur de la chaîne
   );

Paramètres

file_handle

[in]   Le descripteur de fichier rendu par la fonction FileOpen().

length=-1

[in]  Le nombre de caractères à lire.

La valeur rendue

La ligne lue (string).

Note

A la lecture du fichier  bin il est obligatoire d'indiquer la longueur de la chaîne lue. A la lecture du fichier txt il ne faut pas indiquer la longueur de la chaîne, la chaîne sera lue de la position courante jusqu'au caractère de la conversion de la chaîne "\r\n". A la lecture du fichier csv il ne faut pas indiquer la longueur de la chaîne, la chaîne sera lue de la position actuelle jusqu'au délimiteur  le plus proche ou jusqu'au caractère de la fin de la chaîne de texte.

Si le fichier est ouvert avec le drapeau FILE_ANSI,la ligne lue est transformée à Unicode.

Exemple (on utilise le fichier reçu à la suite du travail de l'exemple pour la fonction FileWriteInteger)

//--- montrons la fenêtre des paramètres d'entrée au lancement du script
#property script_show_inputs
//--- les paramètres pour la lecture des données
input string InpFileName="Trend.bin"// le nom du fichier
input string InpDirectoryName="Data"// le nom du répertoire
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- ouvrons le fichier
   ResetLastError();
   int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_BIN|FILE_ANSI);
   if(file_handle!=INVALID_HANDLE)
     {
      PrintFormat("Le fichier %s est ouvert pour la lecture",InpFileName);
      PrintFormat("La voie vers le fichier: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
      //--- les variables auxiliaires
      int    str_size;
      string str;
      //---lisons les données du fichier
      while(!FileIsEnding(file_handle))
        {
         //---apprenons combien de symboles sont utilisés pour l'inscription du temps
         str_size=FileReadInteger(file_handle,INT_VALUE);
         //--- lisons la chaîne
         str=FileReadString(file_handle,str_size);
         //--- imprimons la chaîne
         PrintFormat(str);
        }
      //--- fermons le fichier
      FileClose(file_handle);
      PrintFormat("Les données sont lues, le fichier %s est fermé",InpFileName);
     }
   else
      PrintFormat("On n' a pas réussi à ouvrir le fichier %s, le code de l'erreur = %d",InpFileName,GetLastError());
  }

Voir aussi

Le type string, La conversion des données, FileWriteInteger