Что нового

как записывать текст в начало текстового файла

cerf1234

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

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Запись текста в файл

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Запись текста в файл" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
cerf1234
Читать из файла, присоединять новый текст к началу, записывать в файл и т.д.?
 
Автор
C

cerf1234

Новичок
Сообщения
4
Репутация
0
я пишу ГСЧ, мне нужно сгенерировать 500кб. представь себе после генерации каждого нового символа считывать весь текст заново?
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
FileWriteTopLine(@ScriptDir & '\Log.txt', 'Test1')
FileWriteTopLine(@ScriptDir & '\Log.txt', 'Test2' & @CRLF)
FileWriteTopLine(@ScriptDir & '\Log.txt', 'Test3' & @CRLF)

Func FileWriteTopLine($sFile, $sData)
	Local $hFile, $sRead = ''
	If FileExists($sFile) Then
	    $hFile = FileOpen($sFile)
        $sRead = FileRead($hFile)
        FileClose($hFile)
    EndIf
    $hFile = FileOpen($sFile, 2)
    FileWrite($hFile, $sData & $sRead)
    FileClose($hFile)
EndFunc


И название темы измените например на "Сделать запись в начало файла".
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
cerf1234 [?]
представь себе после генерации каждого нового символа считывать весь текст заново
Или сгенерируйте сначала весь текст, а потом запишите, или, ИМХО, читать-писать.
Код:
$sFile = @ScriptDir & '\Test.txt'

For $i = 1000 To 1100
	$sText = $i & @CRLF
	$sText &= FileRead($sFile)
	$hFile = FileOpen($sFile, 2)
	FileWrite($hFile, $sText)
	FileClose($hFile)
Next
Или
Код:
_FileWriteToLine()
 
Автор
C

cerf1234

Новичок
Сообщения
4
Репутация
0
я решил использовать промежуточный массив длинны 500000 всеже это лучше чем 500000 раз считывать-записывать. спасибо всем
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
cerf1234 [?]
я пишу ГСЧ, мне нужно сгенерировать 500кб. представь себе после генерации каждого нового символа считывать весь текст заново?
это ничто. проблемы могут начаться после приблизительно 10 МБ, в зависимости от жесткого диска
 
Верх