операция вывода не выполняется над файлом с полной буферизацией - PullRequest
0 голосов
/ 30 января 2019

Этот фрагмент не записывает в файл поток из 90 символов после заполнения буфера

«полный» означает, что операция вывода выполняется, когда буфер заполнен, или когда мы явно сбрасываем файл.Выписав: write (string.rep ("A", 90)) и открыв файл с помощью блокнота, я вижу текст.

Этот фрагмент не записывает в файл

out = io.open("E:\\file","w")
out:setvbuf("full",90)
out:write(string.rep("A",89))
out:write("A")

С другой стороны, этот фрагмент записывает в файл

out = io.open("E:\\file","w")
out:setvbuf("full",90)
out:write(string.rep("A",90))

Это может показаться простым вопросом, но на самом деле меня удивляет то, что вместо записи текста в файл первый фрагмент ненаписать что-нибудь из-за таких тривиальных изменений.Почему это происходит?Кстати, я использую Lua 5.3.4.

...