按一个键开始功能

时间:2013-11-19 18:57:44

标签: c++ keyboard keyboard-events

我正在接收一些数据,我希望从我的端口连续接收,并在屏幕上打印。与此同时,我在一个文本文件中写这些。我希望能够按键盘上的键开始写入文本文件过程。因此,如果我不按它,它将继续获取数据,只是在屏幕上显示它,但不会写入文本文件。

我试过了,

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

当然没有用。我怎么能这样做?我在网上搜索但没有得到什么。任何帮助都会很棒。 感谢

1 个答案:

答案 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
}