IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Как считать файл именно с носителя, а не из буфера/экша, c/c++ winapi
Andrewshkovskii
сообщение 4.01.2009 23:06
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


Интересуют способы чтения файлов(в данном случае текстовых) напрямую, без чтения из кэша/буфера обмена. т.е что бы файлы не кэшировались.(увы, такое задание стоит). Есть ли возможность это реализовать на winapi или на чистом c/c++?И главный вопрос - как?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 4.01.2009 23:37
Сообщение #2


Гость






Кеш в твоем случае - это что? Те несколько мегабайт, что есть у винчестера (аппаратный кеш) тоже надо запретить? Системный-то запрещается довольно просто: CreateFile + FILE_FLAG_NO_BUFFERING, а потом ReadFile... А вот что делать с аппаратным - вопрос...
 К началу страницы 
+ Ответить 
Andrewshkovskii
сообщение 4.01.2009 23:40
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


Вопрос идет о уже существующем файле.Т.е в винде я создал файл, и считываю его в программе с помошью файловых потоков c++. при первом запуске считывается как я понимаю а прямую, а при следующем уже явно с кэша.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 4.01.2009 23:51
Сообщение #4


Гость






Цитата
Вопрос идет о уже существующем файле
А ты думаешь, CreateFile только создает файлы, а открыть уже существующий - не в состоянии? Ошибаешься, однако...

hFile = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING, NULL);
должно открыть файл с запретом системного кэширования

Сообщение отредактировано: volvo - 4.01.2009 23:52
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.07.2025 3:31
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"