在vs2017中用C ++ 17清除控制台上的特定位置,如下所示:
hello guys, I want to clear something, pls help me.
清除→想要或清除→其他
没有刷新屏幕,并使用system("cls")
或类似的内容。
答案 0 :(得分:3)
C++11标准(请检查一些C++ reference网站,然后阅读标准,即n3337)不知道,也没有提到屏幕。您可以在没有屏幕的计算机(例如Web服务器,嵌入式设备等)上编写C ++程序的代码,并注意standard output -e.g. std::cout
-可能不是屏幕(例如redirections和管道),即使是在笔记本电脑或台式机和操作系统(Windows,Linux,MacOSX等)上也是如此。
但是许多库可能对您有用。首先,您可以使用操作系统特定的库(例如Windows上的WinAPI)。您还可以定位terminal emulator并使用ncurses之类的库(或类似库),甚至可以直接输出ANSI escape code(我不建议这样做)。而且,您可能想使用GUI之类的工具包来开发Qt应用程序。您甚至可能想编写一个Web application的代码(使用Wt或libonion之类的HTTP服务器库,并使用Javascript和HTML5编写更多代码)。
我提到了一些库,但是您可以找到更多库。
请注意,terminals(及其仿真器)是复杂的设备,并且其操作系统支持非常混乱(由于历史原因)。对于POSIX和Unix,请阅读the Tty Demystified,另请参见termios(3)。即使您使用Windows,也请看一眼它们,以感觉终端仿真器必须多么复杂。
在评论中,您提到“鼠标”。 C ++ 11标准不知道它们。我的感觉是,处理鼠标的应用程序最好提供GUI(即使您可以通过其他库或特定于操作系统的代码使用鼠标来编写终端应用程序),因此我建议使用Qt(但是,您可以使用其他{ 3}})。
答案 1 :(得分:-2)
#include<windows.h>
................
BOOL gotoxy(WORD x, WORD y)
{
COORD xy;
xy.X = x;
xy.Y = y;
return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), xy);
}
cout<<"anything"; //of course in a function