为了好玩,我用 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() 函数。我该如何解决这个问题?先感谢您。