当前位置:  开发笔记 > 编程语言 > 正文

使用C在终端运行应用程序中打印旋转光标

如何解决《使用C在终端运行应用程序中打印旋转光标》经验,为你挑选了2个好方法。

如何在使用标准C的终端中运行的实用程序中打印旋转光标?

我正在寻找打印的东西:\ |/ - 在屏幕上的相同位置一遍又一遍?

谢谢



1> Greg Hewgill..:

您可以\b像这样使用退格符():

printf("processing... |");
fflush(stdout);
// do something
printf("\b/");
fflush(stdout);
// do some more
printf("\b-");
fflush(stdout);

您需要,fflush(stdout)因为通常stdout会被缓冲,直到您输出换行符.



2> zzamboni..:

这是一些示例代码.任务完成时,每隔一段时间调用advance_cursor().

#include 

void advance_cursor() {
  static int pos=0;
  char cursor[4]={'/','-','\\','|'};
  printf("%c\b", cursor[pos]);
  fflush(stdout);
  pos = (pos+1) % 4;
}

int main(int argc, char **argv) {
  int i;
  for (i=0; i<100; i++) {
    advance_cursor();
    usleep(100000);
  }
  printf("\n");
  return 0;
}

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有