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