Интересуют способы чтения файлов(в данном случае текстовых) напрямую, без чтения из кэша/буфера обмена. т.е что бы файлы не кэшировались.(увы, такое задание стоит). Есть ли возможность это реализовать на winapi или на чистом c/c++?И главный вопрос - как?
Кеш в твоем случае - это что? Те несколько мегабайт, что есть у винчестера (аппаратный кеш) тоже надо запретить? Системный-то запрещается довольно просто: CreateFile + FILE_FLAG_NO_BUFFERING, а потом ReadFile... А вот что делать с аппаратным - вопрос...
Вопрос идет о уже существующем файле.Т.е в винде я создал файл, и считываю его в программе с помошью файловых потоков c++. при первом запуске считывается как я понимаю а прямую, а при следующем уже явно с кэша.
hFile = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL,должно открыть файл с запретом системного кэширования
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING, NULL);