home.social

#fopen — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #fopen, aggregated by home.social.

  1. [Перевод] Я решил, что обнаружил баг…

    Я работал над совершенствованием эмулятора DOS и внезапно обнаружил, что достаточно тривиальная операция работает неправильно. Когда просишь COMMAND.COM сделать следующее: echo AB> foo.txt
    echo CD>> foo.txt то вместо ABCD в файл foo.txt записывается ABBC. Я проверил и убедился, что fwrite() действительно передаются правильные данные, но хитрость в том, что действия COMMAND.COM не так просты, как можно подумать: Открываем foo.txt Записываем «AB» Закрываем foo.txt Открываем foo.txt Выполняем поиск на один байт назад от конца файла Считываем один байт Записываем «CD» Закрываем foo.txt Такая сложность нужна, потому что COMMAND.COM хочет учесть случай, когда файл заканчивается символом Ctrl-Z (в нашем случае его нет): в этом случае Ctrl-Z необходимо удалить. Почему-то последовательность «поиск-чтение-запись» работала странно. Но почему?

    habr.com/ru/companies/ruvds/ar

    #fopen #работа_с_файлами #вводвывод #bsd #unix #стандарты #ruvds_перевод