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语言编程中对目录进行基本的打开关闭和读取操作详解

    这篇文章主要介绍了C语言编程中对目录进行基本的打开关闭和读取操作,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • 让我们一起来对C语言指针再分析

    让我们一起来对C语言指针再分析

    这篇文章主要为大家详细介绍C语言的指针,本文进行了深度解析,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C++ OpenCV绘制简易直方图DrawHistImg

    C++ OpenCV绘制简易直方图DrawHistImg

    本文主要介绍了一个能绘制简易直方图的简单函数DrawHistImg,可以帮助大家快速掌握绘制的原理,可以根据自己的创意对其进行改善和补充。需要的朋友可以参考一下
    2021-12-12
  • C语言中system()执行cmd命令打开关闭程序的方法

    C语言中system()执行cmd命令打开关闭程序的方法

    今天小编就为大家分享一篇C语言中system()执行cmd命令打开关闭程序的方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • C语言函数传递数组和传递地址的区别你知道吗

    C语言函数传递数组和传递地址的区别你知道吗

    这篇文章主要介绍了C语言中数组作为函数的参数以及返回值的使用简单入门,这里以一维数组作为基本条件进行例子讲解,需要的朋友可以参考下
    2021-09-09
  • C++之CWnd窗口框架实例

    C++之CWnd窗口框架实例

    这篇文章主要介绍了C++之CWnd窗口框架,实例分析了CWnd窗口框架的结构,如构造函数、析构函数、消息映射函数等,需要的朋友可以参考下
    2014-10-10
  • C++实现栈与分析栈的知识点

    C++实现栈与分析栈的知识点

    这篇文章主要介绍了C++实现栈与分析栈的知识点,栈(stack)是计算机中常用的一种线性数据结构,经常有资料使用“操作受限”来形容栈,因为它的压入栈和弹出栈操作只能在栈顶进行,下文更多相关资料,需要的小伙伴可以参考一下
    2022-03-03
  • C语言举例讲解i++与++i之间的区别

    C语言举例讲解i++与++i之间的区别

    这篇文章主要介绍了C语言中i++和++i的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 浅析C++中结构体的定义、初始化和引用

    浅析C++中结构体的定义、初始化和引用

    以下是对C++中结构体的定义、初始化和引用进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • C++实现循环队列和链式队列的示例

    C++实现循环队列和链式队列的示例

    下面小编就为大家分享一篇C++实现循环队列和链式队列的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12

最新评论