нажмите клавишу для запуска функции

Я получаю некоторые данные, которые хочу получать постоянно, из своего порта и печатаю на экране. В то же время я пишу их в текстовом файле. Я хочу иметь возможность нажать клавишу на клавиатуре, чтобы начать процесс записи в текстовый файл. Поэтому, если я не нажму на него, он продолжит получать данные и просто отображать их на экране, но не будет писать в текстовом файле.

Я старался,

char x;
cin>>x;
if(x=='0')
{
printtoText(buffer);
}

Конечно, это не сработало. Как я мог это сделать? Я искал по сети, но ничего не нашел. Любая помощь будет отличной.
Спасибо

0

Решение

На самом деле, если вы хотите сделать это в одном потоке, вы можете. Это не будет элегантно, но должно работать.
Вы можете начать получать данные в соединительных линиях в цикле и проверять каждый ствол полученных данных, если клавиша была нажата. Если есть, то активируйте printtoText(buffer),

РЕДАКТИРОВАТЬ:
Я думал о чем-то таком:

void readFile () {
char str[256];

std::cout << "Enter the name of an existing text file: ";
std::cin.get (str,256);    // get c-string

std::ifstream is(str);     // open file

while (is.good())          // loop while extraction from file is possible
{
char c = is.get();       // get character from file
if (is.good())

//Here perform checkl if the key has been pressed and if yes take additional                  actions

std::cout << c;
}

is.close();                // close file
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]