c语言printf实现同一位置打印输出的实例

 更新时间:2017年09月28日 08:30:35   作者:追极  
下面小编就为大家带来一篇c语言printf实现同一位置打印输出的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

控制台同一位置打印输出,例如:进度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实现同一位置打印输出的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言详解无头单向非循环链表各种操作方法

    C语言详解无头单向非循环链表各种操作方法

    无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多
    2022-04-04
  • C++实现LeetCode(24.成对交换节点)

    C++实现LeetCode(24.成对交换节点)

    这篇文章主要介绍了C++实现LeetCode(24.成对交换节点),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言代码实现三子棋游戏

    C语言代码实现三子棋游戏

    这篇文章主要为大家详细介绍了C语言代码实现三子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • C语言之包含min函数的栈实例详解

    C语言之包含min函数的栈实例详解

    这篇文章主要为大家详细介绍了C语言之包含min函数的栈,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C++中的自增与自减

    C++中的自增与自减

    这篇文章主要介绍了C++中的自增与自减,自增与自减是C++当中两个使用频率非常高的运算符,不仅在循环当中用到,在日常的代码当中也经常使用,下面来看看文章得具体介绍
    2021-11-11
  • 利用C/C++二进制读写png文件的方法示例

    利用C/C++二进制读写png文件的方法示例

    最近在做项目的时候遇到了这个问题,所以想着总结下,方法自己和有需要的朋友,下面这篇文章主要介绍了利用C/C++二进制读写png文件的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • OpenCV基于背景减除实现行人计数

    OpenCV基于背景减除实现行人计数

    本文主要介绍了如何使用OpenCV C++对视频中的人流量进行统计。文中的示例代码讲解详细,对我们学习OpenCV有一定的帮助,需要的可以了解一下
    2022-01-01
  • 线段树详解以及C++实现代码

    线段树详解以及C++实现代码

    线段树在一些acm题目中经常见到,这种数据结构主要应用在计算几何和地理信息系统中,这篇文章主要给大家介绍了关于线段树以及C++实现的相关资料,需要的朋友可以参考下
    2021-07-07
  • C语言动态内存管理分析总结

    C语言动态内存管理分析总结

    C语言中开辟内存有很多种方式,目前我们最常用的也就是数组,但数组是在我们用到他之前就得设定好它的长度,有时很不方便。随意我们来探究动态内存管理
    2021-11-11
  • QT自定义之滑动开关

    QT自定义之滑动开关

    这篇文章主要为大家详细介绍了QT自定义之滑动开关效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08

最新评论