2

为了好玩,我用 C++ 制作了一个小型文本编辑器,代码可以运行,虽然有点慢,但是当我尝试将某些内容粘贴到编辑器中时,我遇到了问题。当我输入 ctrl+v 时,它并没有粘贴复制的文本,这是一个 Web 链接,而是显示:▬。当我实际上按 ctrl+c 或 ctrl+s 或任何带有 ctrl 的字母时,就会发生这种情况。为什么会发生这种情况,有没有办法阻止这种情况?

int editTxtFile() {
  std::string txtstr;
  std::string filename;
  std::cin >> filename;
  std::ofstream file("TXTFILES\\"+filename+".txt", std::ios::out);
  std::cout << "This is an editor for txt files (sorry for the flashing!)\n";

  char keypressed;
  int asciiVal;
  if (file.is_open()) {
    while (true) {
      keypressed = getch();
      asciiVal = keypressed;
      switch (asciiVal) {
        case 13:
          txtstr += "\n";
          system("cls");
          break;
        case 8:
          txtstr = txtstr.substr(0, txtstr.size() - 1);
          system("cls");
          break;
        case 94:
          file << txtstr;
          system("cls");
          file.close();
          break;
        default:
          txtstr += keypressed;
          system("cls");
          break;
      }
      std::cout << txtstr;
    }
  }
  return 0;
}

我将头文件 conio.h 用于 getch() 函数。我该如何解决这个问题?先感谢您。

4

0 回答 0