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

0

Поскольку мы знаем, что VC WriteFile() записывает данные в указанное устройство ввода/вывода в ОС (см. WriteFile)

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

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

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

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

Ps Это НЕ о командной строке в Windows!

Теги:
file-io
dos
watcom

1 ответ

1
Лучший ответ

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

кортик

Ещё вопросы

Сообщество Overcoder
Наверх
Меню