Написать файл в режиме чистого DOS?

Как мы знаем ВК WriteFile() записывает данные на указанное устройство ввода-вывода в ОС (см. WriteFile)

Я хочу знать, есть ли такой API в чистых дозах для этой цели? (Используя Watcom C...)

Потом я нашел _dos_write() в справочной странице 197 библиотеки Watcom c (см. _dos_write()) и использует системный вызов 0x40 для записи количества байтов данных из буфера, на который указывает буфер, в файл, указанный дескриптором

Количество unsigned введите, и это означает, что максимальное количество файлов будет 65535.

Мой вопрос: есть ли другие API, которые могут передавать более 65536 байт "один раз" (например, WriteFile() делает) в чистом DOS?

Ps Речь не о командной строке в Windows!

1 ответ

Решение

65535 байт - это только предел количества байтов, которые мы можем записать / прочитать за один раз за один вызов. Если файл не закрыт, то просто вызовите запись / чтение еще раз с другим местоположением в оперативной памяти, тогда файловый счетчик будет перемещен к следующим 65535 байтам файла. Как сказал Джерри Коффин, нам нужно использовать несколько вызовов, прежде чем мы закроем файл с помощью filehandle.

кортик

Другие вопросы по тегам