我正在用gcc编译的C语言编写程序。问题与家庭作业有关,但我需要帮助的具体部分不是家庭作业的一部分。有一个类似的问题被问到Python - Remove and Replace Printed items,但我没有使用Python代码。我写了大部分的家庭作业,现在我正在尝试添加功能。
我要做的第一个问题是在屏幕上打印一些文字,然后删除该文字,然后将新文本打印到屏幕上与第一个文本相同的位置。
例如,我想要程序打印“快速棕狐”,然后从屏幕上删除“棕色狐狸”,然后打印“绿狐狸”,其中“棕色狐狸”曾经是,所以“快速绿狐狸” “最后显示在同一位置的屏幕上
另一个问题是让程序在不使用回车键的情况下响应用户输入。
我认为这些功能是可行的,因为我从我的系统运行了一个名为Joe自己的编辑器的程序。在其中,我可以按ctrl-C,其功能类似于退出命令,并显示一条消息“丢失对此文件的更改y,n,^ C)?”如果我按“n”,只按“n”,则会从屏幕上删除“Lose cha ...”消息并调整光标位置。
感谢。
答案 0 :(得分:4)
使用\b
(退格)字符。
printf("Quick brown fox");
int i;
for(i=0; i < 9; i++)
{
printf("\b");
}
printf("green fox\n");
我注意到在第一个\n
上放置printf()
搞砸了输出。
答案 1 :(得分:3)
执行这些控制台操作取决于您使用的平台。你可能需要一个库来完成你想要做的事情。如果您在Windows上,请查看跨平台的this或DOS的旧conio库。
答案 2 :(得分:1)
如果我收到你的问题,请试试:
system("cls");
并在控制台上打印新文本。
修改强>:
另外,要回答你的第二个问题,请进行一个while循环:
use getch() found in conio.h
这样您就不必像扫描一样等待按下回车键。