Я получаю некоторые данные, которые хочу получать постоянно, из своего порта и печатаю на экране. В то же время я пишу их в текстовом файле. Я хочу иметь возможность нажать клавишу на клавиатуре, чтобы начать процесс записи в текстовый файл. Поэтому, если я не нажму на него, он продолжит получать данные и просто отображать их на экране, но не будет писать в текстовом файле.
Я старался,
char x;
cin>>x;
if(x=='0')
{
printtoText(buffer);
}
Конечно, это не сработало. Как я мог это сделать? Я искал по сети, но ничего не нашел. Любая помощь будет отличной.
Спасибо
На самом деле, если вы хотите сделать это в одном потоке, вы можете. Это не будет элегантно, но должно работать.
Вы можете начать получать данные в соединительных линиях в цикле и проверять каждый ствол полученных данных, если клавиша была нажата. Если есть, то активируйте 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
}
Других решений пока нет …