last-modified: 2019-04-28 (日) 18:36:58 (1834d)[変更箇所]
シミュレーションとかでどのくらいイベント数が終わったかとかを表示するためのもの。 単に表示させるだけならすぐできるけど
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <curses.h> /* neve : present count toteve : total count Tsec : passed time in second */ void prtevt_( long int *neve, long int *toteve) { long int INTERVAL=10000; static time_t t1; time_t t2; double tdiff,min_tot; if ( (*neve)<2 ){ t1=time(NULL); } t2=time(NULL) ; tdiff=difftime(t2,t1)/60.; if ((*neve)%INTERVAL==0){ printf("\r"); if ( *neve == 0 ){ fprintf( stdout, " #Events:\t%10ld/%10ld ( finish = %5.1f/----- min )", *neve,*toteve); }else if (*neve == *toteve){ printf("\n"); }else{ min_tot = (*toteve) * (tdiff)/(*neve); fprintf( stdout, " #Events:\t%10ld/%10ld ( finish = %5.1f/%5.1f min )", *neve,*toteve, tdiff, min_tot); } fflush(stdout); } } ////main //int main() //{ // long int i; // long int toteve=100; // for (i=0;i<=toteve;i++){ // sleep(1); // prtevt_(&i,&toteve); // } //}