时间:2021-05-20
控制台同一位置打印输出,例如:进度1%->100%在同一位置显示。刚学习c语言的时候一直想做起来,可惜查询好多资料不行。时隔6年多,空闲之余又想起这个问题,便决定一试,虽然c语言已经几乎忘光了,呵呵。最终还是搞定了,这次运气不错,哈哈! ^_^
#include <stdio.h>#include <pthread.h>//#include <sys/time.h>//linux for sleep(seconds) and usleep(Microsecond)//#include <unistd.h>//windows for Sleep(millisecond)//#include <windows.h> //创建线程函数返回类型pthread_t thread[1]; /*** 线程函数**/void *printThread(){ printf("%s\n","线程开始处理任务"); printf("已经处理了:"); for(int i = 1; i <= 100; i++) { if(i==1){ //数字占3格,%占一格 printf("%3d%%",i); }else{ //退4格 printf("\b\b\b\b%3d%%",i); } //即时标准输出(不带\n,不刷新不行) fflush(stdout); //延时1秒 sleep(1); }}int main(){ printf("我是主函数哦,我正在创建线程,呵呵\n"); if(pthread_create(&thread[0], NULL, printThread, NULL)!=0){ printf("线程创建失败\n"); } printf("线程创建成功\n"); printf("我是主函数哦,我正在等待线程完成任务阿,呵呵\n"); pthread_join(thread[0],NULL); printf("\n线程已经结束\n"); return 1;}代码是在mac os下测试成功的。window系统需要在编译器中引入pthread库,参考实例 Windows下使用Dev-C++开发基于pthread.h的多线程程序
以上这篇c语言printf实现同一位置打印输出的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
printf语法:#includeintprintf(constchar*format,...);printf()函数根据format(格式)给出的格式打印输出
一位置传递没什么好过多讲解.#位置传递实例:deffun1(a,b,c):returna+b+cprint(fun1(1,2,3))输出:6二关键字传递更具每个
当进行文档编辑时,有时需要从文档的某一位置跳到同一文档的另一位置;或者同时打开了多个不同的文档,可能经常要从一个文档移到另一个文档。这样移来移去,再重新寻找原来
4月16日开始,聚划算在手机淘宝首页频道发生变化,已从第二位上升至第一位,而淘抢购和天天特卖并入同一位置。手淘位置变化"alt="手淘位置变化"data-dat
4月16日开始,聚划算在手机淘宝首页频道发生变化,已从第二位上升至第一位,而淘抢购和天天特卖并入同一位置。手淘位置变化"alt="手淘位置变化"data-dat