Очистить содержимое текстового файла

 

Приветствую всех.

Искал в интернете способ очистить файл средствами MQL4. Такого не нашёл. Написал следующую тестовую функцию. Но к сожалению она не стирает файл, а только лишь перезаписывает. Как сделать очистку файла? Притом такую очистку, которая могла бы стереть всё без разбора и оставить только голый файл.

bool rewriteFile() {

   int handleFile = FileOpen("test.txt", FILE_READ|FILE_WRITE, ";");

   if(handleFile > 0) {

      int file_bites = 0;

      for(int w = 0; w < 10; w++) {

         file_bites += FileWriteString(handleFile, w+";"); // запишет в файл

         FileSeek(handleFile, file_bites, SEEK_SET); // установит курсор в нужную позицию

      }

      FileClose(handleFile);

      return true;

   } else {

      Alert("Не удаётся открыть файл");

      return false;

   }

}‌
 
DocKlein:

Приветствую всех.

Искал в интернете способ очистить файл средствами MQL4. Такого не нашёл. Написал следующую тестовую функцию. Но к сожалению она не стирает файл, а только лишь перезаписывает. Как сделать очистку файла? Притом такую очистку, которая могла бы стереть всё без разбора и оставить только голый файл.

bool rewriteFile() {

   int handleFile = FileOpen("test.txt", FILE_READ|FILE_WRITE, ";");

   if(handleFile > 0) {

      int file_bites = 0;

      for(int w = 0; w < 10; w++) {

         file_bites += FileWriteString(handleFile, w+";"); // запишет в файл

         FileSeek(handleFile, file_bites, SEEK_SET); // установит курсор в нужную позицию

      }

      FileClose(handleFile);

      return true;

   } else {

      Alert("Не удаётся открыть файл");

      return false;

   }

}‌

А в чём проблема??? Если надо стереть файл без разбора то проще его именно перезаписать.

‌А оно надо??? Если нужен файл с новыми данными, то его просто надо открыть с флагом записи и без флага чтения.

bool clearFile()
      {
       int handleFile = FileOpen("test.txt", FILE_WRITE|FILE_TXT);
        if(handleFile > 0)
         {
          FileClose(handleFile);
           return(true);
         }
        return(false);
      }‌

 
Alexsey Victorov. Да действительно это работает. Файл полностью очищается. Благодарю вас.