【问题标题】:How can I erase the current line printed on console in C from the end?如何从最后擦除 C 控制台上打印的当前行?
【发布时间】:2015-09-19 15:47:41
【问题描述】:

我需要从末尾删除一个新行中的打印字符。 那就是如果声明是printf("C++") 我需要擦除那些打印的 2 个“++”并得到输出“C”。

    printf("hello");   printf("\rbye");

使用上面的转义序列'\r',只替换它从打印行开始得到输出'byelo',如何从最后得到'hebye'?

【问题讨论】:

  • ncurses 是一个库,可提供对控制台应用程序有用的广泛光标控制。

标签: c


【解决方案1】:

您可以使用退格 ASCII 字符:

printf("hello");
printf("\b");

结果:

hell

UPD:另见this answer

【讨论】:

  • 它实际上是特定于实现的。标准不保证这种行为(在将文本重定向到打印机时尝试这个)。
猜你喜欢
  • 2010-12-03
  • 2012-07-21
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-30
  • 2011-07-07
相关资源
最近更新 更多