嘿,伙计们,我在C语言中创建了一个程序,用一个确定一个数字是否完美的函数来测试1到10000之间的所有数字是否完美。一旦找到它们,它就会把它们打印给用户,分别是6、28、496和8128。在这之后,程序会打印出每个完美数字的所有因素给用户。这一切都很好。这是我的问题。
任务的最后一部分要求我:
使用“twirly”表示程序正在愉快地运行。“twirly”是按以下顺序打印在彼此上方的以下字符:'|'/'-''''。这就产生了纺车的效果。提示:要执行此操作,可以在printf中使用\r(而不是\n)只返回回车(而不是回车换行)。(注意:这可能在某些系统上不起作用—您不必这样做。)
我不知道twirly是什么,也不知道如何实现它。我的导师说这跟睡眠和延迟功能有关,我也不知道怎么用。有谁能帮我完成最后一个阶段吗?很糟糕,我所有的代码都完成了,但我不能让这个“twirly”的东西工作。

最佳答案

如果您想同时执行
测试数字和
在屏幕上显示旋转
当进程继续进行时,您最好研究使用线程。使用POSIX线程,您可以在一个线程上启动任务,另一个线程将在终端上向用户显示twirly。

#include<stdlib.h>

#include<pthread.h>

int Test();

void Display();

int main(){
// create threads each for both tasks test and Display
//call threads
//wait for Test thread to finish
//terminate display thread after Test  thread completes
//exit code
}

螺纹参见第12章
beginning linux programming ebook

09-27 21:01