C – 取下并更换打印物品

我正在用gcc编译的C语言编写程序。 这个问题与家庭作业有关,但我需要帮助的具体部分不是家庭作业的一部分。 类似的问题被问到Python – 删除和替换印刷项目 ,但我没有使用Python代码。 我写了大部分的家庭作业,现在我正在尝试添加function。

我要做的第一个问题是在屏幕上打印一些文本,然后删除该文本,然后在第一个文本所在的同一位置将新文本打印到屏幕上。

例如,我希望程序打印“Quick brown fox”,然后从屏幕上删除“brown fox”,然后打印“green fox”,其中“褐狐狸”曾经是,所以显示“Quick green fox”最后在同一位置的屏幕上

另一个问题是让程序在不使用回车键的情况下响应用户输入。

我认为这些function是可行的,因为我从我的系统运行了一个名为Joe自己的编辑器的程序。 在其中,我可以按ctrl-C,其function类似于退出命令,并显示一条消息“丢失对此文件的更改y,n,^ C)?” 如果我然后按“n”,并且只按“n”,则从屏幕上删除“Lose cha …”消息并调整光标位置。

谢谢。

使用\b (退格)字符。

 printf("Quick brown fox"); int i; for(i=0; i < 9; i++) { printf("\b"); } printf("green fox\n"); 

我注意到在第一个printf()上放一个\n搞乱了输出。

执行这些控制台操作取决于您使用的平台。 您可能需要一个库来完成您要执行的操作。 如果你在Windows上,请查看这样的跨平台,或者用于DOS的旧conio库。

如果我收到你的问题,请试试这个:

 system("cls"); 

并在控制台上打印一个新文本。

编辑

另外,要回答第二个问题,请使用while循环:

 use getch() found in conio.h 

这样您就不必像在scanf中那样等待按下回车键。