Форум программистов, компьютерный форум CyberForum.ru

Считывание файла с CD-ROM c миганием лампочки - C++

Восстановить пароль Регистрация
 
tumanovalex
Сообщений: n/a
08.11.2010, 16:10     Считывание файла с CD-ROM c миганием лампочки #1
Попросили меня написать программу, которая постоянно читает один и тот же файл с CD-ROM до нажатия определенной клавиши. При этом нужно сделать так, чтобы лампочка CD-ROM при чтении файла мигала. Файл размером 3 Мб. Я написал простое консольное приложение (считывание файла 2 раза) с функцией

int read_file_с(const char *file_name, const int buf_size)
{
FILE *file_in;
int i, nmax=2;
file_in = check_file(file_name);
if(buf_size==0) // без буферизации
{
setvbuf(file_in, NULL,_IONBF,0);
for(i=0;i<nmax;i++)
{
while((getc(file_in))!=EOF)
{
} //while
printf('cycle %d
',i);
fseek(file_in,0,SEEK_SET);
}//for
} //if
else // с буфферизацией
{
char *buffer = new char[buf_size];
setvbuf(file_in, buffer, _IOFBF, buf_size);
for(i=0;i<nmax;i++)
{
while(fgets(buffer,buf_size,file_in)!=NULL)
{
} // while
printf('cycle buffer %d
',i);
fseek(file_in,0,SEEK_SET);
}
} //else
fclose(file_in);
printf('
File read
');
return 0;
}

В Win 9x и ME при разных размерах буфера лампочка мигает с разной частотой, скорость считывания файла заметно зависит от размера буфера. Однако в Win 2k, XP файл практически мгновенно считывается в память вне зависимости от буфера и при повторных чтения файла лампочка CDROM не загорается. При дальнейших запусках программы файл вообще не считывает с CDROM, лампочка даже не мигает. Я так понимаю, что в этих ОС файл считывается в память, ОС где-то помечает местонахождение файла и далее при попытках считывания файла с CDROM ОС считывает его из памяти. Подскажите, пожалуйста, как можно решить эту задачу средствами С или API? Размеры файла, считываемого с CDROM, можно в случае необходимости увеличить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2010, 16:10     Считывание файла с CD-ROM c миганием лампочки
Посмотрите здесь:

C++ считывание с файла
считывание с файла C++
считывание с файла C++
C++ Считывание с файла
Считывание файла в массив и запись нового файла C++
Заменить считывание с клавиатуры на считывание из файла C++
Считывание из файла C++
C++ Считывание из файла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru