我正在接收一些数据,我希望从我的端口连续接收,并在屏幕上打印。与此同时,我在一个文本文件中写这些。我希望能够按键盘上的键开始写入文本文件过程。因此,如果我不按它,它将继续获取数据,只是在屏幕上显示它,但不会写入文本文件。
我试过了,
char x;
cin>>x;
if(x=='0')
{
printtoText(buffer);
}
当然没有用。我怎么能这样做?我在网上搜索但没有得到什么。任何帮助都会很棒。 感谢
答案 0 :(得分: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
}