Например, если я вызвал WriteFile в конец файла, а позже я хотел удалить записанные байты, как я мог это сделать? Нужно ли читать содержимое файла в буфер, заново создавать файл и записывать нужные байты, или есть более простой способ?
Поиск в позиции файла, из которой вы хотите обрезать (если вы еще не там), затем вызовите метко названную SetEndOfFile () функцию.
В Posix-совместимых системах (Unix, Linux и другие (в Windows 7 снова есть слой Posix))
int truncate(const char *path, off_t length); int ftruncate(int fildes, off_t length);
http://www.opengroup.org/onlinepubs/009695399/functions/truncate.html
http://www.opengroup.org/onlinepubs/009695399/functions/ftruncate.html