Linux終端進度顯示

1.常見87%======>形式

/*
 * =====================================================================================
 *
 *       Filename:  progressbar.c
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  2012年03月22日 08時56分50秒
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  KEKEZHOU (), [email protected]
 *   Organization:  
 *
 * =====================================================================================
 */
#include <stdlib.h>
#include <stdio.h>
/* 
 * ===  FUNCTION  ======================================================================
 *         Name:  main
 *  Description:  The entrance of the world  
 * =====================================================================================
*/
 int main(int argc,char* argv[]){
    int i;
    char x[300];
    memset(x,0,300);
    for(i=0;i<101;i++){
		if(i == 100)
		{
		sprintf(&x[0],"%3d",i);
        x[3]='%';
        x[4+i]='=';

		printf("\r%s=",x);
        fflush(stdout);
	}else{
		sprintf(&x[0],"%2d",i);
        x[2]='%';
        x[3+i]='=';

		printf("\r%s>",x);
        fflush(stdout);
		sleep(1);
	}
	}
    printf("\n");

} 

2.旋轉的\|/-形式

/*
 * =====================================================================================
 *
 *       Filename:  cros.c
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  2012年03月22日 17時24分19秒
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  KEKEZHOU (), [email protected]
 *   Organization:  
 *
 * =====================================================================================
 */
#include <stdlib.h>
#include <stdio.h>
/* 
 * ===  FUNCTION  ======================================================================
 *         Name:  main
 *  Description:  The entrance of the world  
 * =====================================================================================
 */
int main ( int argc, char *argv[] ) {

	printf("hello,vimer\n");
	char cursor[4] = {'|','\\','-','/'};
	int i;
	for(i = 0; i < 100; ++i)
	{
		int k = i%4;

		switch (k) 
		{
			case 0:
				printf("\r%c",cursor[0]);
				sleep(1);
				fflush(stdout);
				break;

			case 1: 
				printf("\r%c",cursor[1]);
				sleep(1);
				fflush(stdout);
				break;

			case 2 :
				printf("\r%c",cursor[2]);
				sleep(1);

				fflush(stdout);
				break;

			case 3 :
				printf("\r%c",cursor[3]);
				sleep(1);
				fflush(stdout);
				break;
		}
	}
	return 0;
}				/* ----------  end of function main  ---------- */

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章