Что нового

Как брать первую строку из файла с удалением?

ssdd

Новичок
Сообщения
11
Репутация
0
Подскажите как можно реализовать такую функцию,
брать первую строку из файла и сразу же ее удалять из файла?
учитывая что число строк в файле может достигать сотни тысяч ?

Хотел воспользоваться функцией _FileWriteToLine, и удалять с помощью нее первую строку, но почему то она у меня не записывает ничего, хотя скрипт выполняется без ошибок.

Ниже просто пример использования функции _FileWriteToLine для тест ее работоспособности.
У меня при выполнении это скрипта только добавляются строки и все.

Код:
#include <File.au3>
$hFile = FileOpen("test.txt", 1)

; Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
If $hFile = -1 Then
    MsgBox(4096, "Ошибка", "Невозможно открыть файл.")
    Exit
EndIf

FileWrite($hFile, "Строка1"& @CRLF)
FileWrite($hFile, "Строка2"& @CRLF)
_FileWriteToLine($hFile, 1, "my replacement for line 1", 1)
_FileWriteToLine($hFile, 3, "my replacement for line 3", 1)
FileClose($hFile)
 

joiner

Модератор
Локальный модератор
Сообщения
3 055
Репутация
511
ssdd
использовать не дескриптор файла, а указать путь к файлу. естественно, перед этим нужно закрыть этот файл, если он был открыт
 
Автор
S

ssdd

Новичок
Сообщения
11
Репутация
0
спасибо! помогло!
подскажите еще как можно проверить существование этой самой первой строки?
 
Верх