C++里的计数器class

来源:互联网 发布:java面试题socket方面 编辑:程序博客网 时间:2024/06/05 20:47
#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include <string.h>class AutoTimer{public:AutoTimer(const char *msg){_msg = msg;gettimeofday(&begin, NULL);}~AutoTimer(){gettimeofday(&end, NULL);printf("%sTime: %d\n", _msg, (end.tv_sec - begin.tv_sec) * 1000000 + (end.tv_usec - begin.tv_usec));}private:const char *_msg;struct timeval begin, end;};int main(int argc, char **argv){FILE *fp;char file[100];char line[256];strcpy(file, argv[1]);fp = fopen(file, "r");{AutoTimer t2("fgets ");if (fp != NULL){while (fgets(line, sizeof(line), fp));}}{char data[4*1024];AutoTimer t3("fread ");fseek(fp, 0, SEEK_SET);while (fread(data, sizeof(char), sizeof(data)-1, fp) != 0);}fclose(fp);}