Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tumanovalex
#1

Как по клавише прекратить (приостановить) запись в файл? - C++

01.11.2010, 14:15. Просмотров 759. Ответов 4
Метки нет (Все метки)

Консольное приложение VC6. Есть функция записи в файл. Данные пишутся в цикле:
while(i < file_size)
{
fputs(buffer,file_out);
i=i+buf_size;
}
Хотелось бы, чтобы при нажатии ESC прерывалась запись файла, а при нажатии клавиши 'пробел' возникала бы пауза в записи файла на заданное время.
Когда в цикл помещаю код для реализации выхода по ESC
char ch = getch();
if(ch==27)
{
cout << 'Escape' << endl;
return 0;
}
программа замирает, видимо ждет нажатия клавиши. Что я делаю неправильно? Как правильно отслеживать нажатие клавиш в цикле?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2010, 14:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как по клавише прекратить (приостановить) запись в файл? (C++):

Как прекратить ввод string? - C++
Снизу код. Пока прога должна просто напечатать пары имя-возраст,но вопрос в том,как прекратить ввод имен чтобы прога поняла что все,имен...

Как прекратить работу программы? - C++
# include &lt;iostream&gt; # include &lt;locale&gt; using namespace std; int main () { setlocale (LC_ALL,&quot;Russian&quot;); int number; ...

Подскажите как прекратить чтение из файла? - C++
Есть программа: #include&lt;iostream&gt; #include&lt;fstream&gt; using namespace std; int main() { ifstream cin(&quot;in.txt&quot;); int name; ...

Как прекратить ввод данных из консоли - C++
Программа должна считывать пары точек (x, y), но заранее не известно количество пар. Как сделать так, чтобы ввод прекратился после ввода...

Как прекратить/начать функцию при нажатии Enter? - C++
У меня в коде такой фрагмент: int cin_word; while (cin &gt;&gt; cin_word) { v.push_back(cin_word); } При нажатии на Enter...

Как приостановить работу основного потока? - C++
Как приостановить работу основного потока? Проблема в том что заполнение динамического массива происходит из разных потоков,а при этом...

4
palva
2679 / 1906 / 286
Регистрация: 08.06.2007
Сообщений: 7,015
Записей в блоге: 4
01.11.2010, 18:34 #2
Чтобы не попасть в ожидание, нужно сначала проверить, имеются ли нажатые клавишы в буфере клавиатуры. Для этого используется функция _kbhit См. MSDN или http://www.codenet.ru/progr/cpp/spru/kbhit.php
0
tumanovalex
02.11.2010, 08:42 #3
Спасибо большое, попробую
tumanovalex
02.11.2010, 08:45 #4
Спасибо большое, попробую
zyablik
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 40
03.11.2010, 15:17 #5
Лучше организовать это в отдельном потоке. Примера пока нет.
0
03.11.2010, 15:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2010, 15:17
Привет! Вот еще темы с ответами:

Как задать конец строки и прекратить при вводе определённого символа? - C++
Добрый день! Подскажите, пожалуйста, как задать конец строки при вводе определённого символа. Например, char mass , но при вводе с...

Как открыть файл одновременно и на чтение и на запись? - C++
Вот такой код: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; #include&lt;cstdlib&gt; using namespace std; int...

Прекратить запись в динамический массив по нажатию Enter - C (СИ)
Привет всем !!!! пытаюсь разобраться с работой с памятью, на примере создания динамического массива и вывода его на экран (пока...

Как разрешить запись в файл, по умолчанию запись не разрешена - PHP
Помогите! НАчинающий php - программист. Как разрешить запись в файл, по умолчанию запись не разрешена. Вот что пишет: Warning:...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.