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;
}

getch() 関数にヘッダー ファイル conio.h を使用しています。この問題を解決するにはどうすればよいですか? 前もって感謝します。

4

0 に答える 0