C++ 如何在c+中以文本模式清除特定文本+&引用;不是整个屏幕;? system(“cls”)-#包括标准头文件 CLRSC()-#包含非标准头文件
这两个功能可以清除整个屏幕。 我想清除,或者我们可以对特定字符或字符串使用反斜杠“\b”的概念,而不影响其他内容。在插入任何数字时。 例如:hellowC++ 如何在c+中以文本模式清除特定文本+&引用;不是整个屏幕;? system(“cls”)-#包括标准头文件 CLRSC()-#包含非标准头文件,c++,C++,这两个功能可以清除整个屏幕。 我想清除,或者我们可以对特定字符或字符串使用反斜杠“\b”的概念,而不影响其他内容。在插入任何数字时。 例如:hellow 当我同时输入这个“hellow”时,它会返回到“o”。以下两个C程序都在Debian上的bash中工作: system("cls") - #include <stdlib.h> STANDARD HEADER FILE clrscr() - #include <conio.h> NON-STANDARD
当我同时输入这个“hellow”时,它会返回到“o”。以下两个C程序都在Debian上的bash中工作:
system("cls") - #include <stdlib.h> STANDARD HEADER FILE
clrscr() - #include <conio.h> NON-STANDARD HEADER FILE
这可能也适用于Mac OSX(因为它也使用),但我不知道Windows或。您可以使用
Windows.h
库中的SetConsoleCursorPos()
函数,通过调用文本打印函数用空白字符/空格覆盖一个或多个字符
thomas@yozu-thomas:~/Programming$ gcc -o main main.c
thomas@yozu-thomas:~/Programming$ ./main
xxxHelloxxx
thomas@yozu-thomas:~/Programming$
#包括
#包括
void clearScreen(int from_x,int to_x,int from_y,int to_y)//此函数用于清除文本块
{
句柄conHandle=GetStdHandle(标准输出句柄);
对于(int i=0;即使是<代码>系统>代码>是由C标准提供的,它的行为是实现定义的。C或C++对图形文本操作都没有什么可说的。使用类似NcRESs的东西。Windows提供了一个用于处理控制台的API:不过,我不认为您擦除文本。我想您只需编写SPA。我认为任何答案都必须是特定于操作系统/输出设备的。例如,system(“cls”)
在bash中不起作用(sh:1:cls:notfound
)。不清楚您想要实现什么。给我们一个例子(输入、输出).我知道的两种模式是文本模式和图形模式。在图形模式下,我可以通过设置gotoxy(x,y)来实现,但在文本模式下我什么都没有?
#include <stdlib.h>
int main() { return system("echo 'xxxHellow\bxxx'"); }
thomas@yozu-thomas:~/Programming$ gcc -o main main.c
thomas@yozu-thomas:~/Programming$ ./main
xxxHelloxxx
thomas@yozu-thomas:~/Programming$
#include <windows.h>
#include <stdio.h>
void clearScreen(int from_x, int to_x, int from_y, int to_y) // this function clears a block of text
{
HANDLE conHandle = GetStdHandle(STD_OUTPUT_HANDLE);
for(int i = 0; i<to_y-from_y; i++)
{
COORD pos;
pos.Y = from_y+i;
pos.X = from_x;
SetConsoleCursorPosition(conHandle, pos);
for(int j = 0; j<to_x-from_x; j++)
{
printf(" ");
}
}
return;
}
int main()
{
for(int i = 0; i<10; i++)
{
for(int j = 0; j<10; j++)
{
printf("a");
}
printf("\n");
}
clearScreen(1, 3, 4, 6);
return 0;
}