usb读取速度测试

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <sys/time.h>

#define MAXSIZE 6*1024*1024

/**
*计算两个时间的间隔,得到时间差  
*@param   struct   timeval*   resule   返回计算出来的时间  
*@param   struct   timeval*   x        需要计算的前一个时间  
*@param   struct   timeval*   y        需要计算的后一个时间  
*return   -1   failure   ,0   success  
**/
int timeval_subtract(struct timeval* result,struct timeval* x,struct timeval* y)
{
  int nsec;
  if(x->tv_sec>y->tv_sec)
  return   -1;
  if((x->tv_sec==y->tv_sec)&&(x->tv_usec>y->tv_usec))
  return -1;

  result->tv_sec=(y->tv_sec-x->tv_sec);
  result->tv_usec=(y->tv_usec-x->tv_usec);

  if(result->tv_usec<0)
  {
  	result->tv_sec--;
    result->tv_usec+=1000000;
  }
  return 0;
}

int main(int argc ,char *argv[])
{
	FILE *fp;
	int readsize=0;
	char readbuf[MAXSIZE];
	struct timeval start,stop,diff;
LOOP:
  if((fp=fopen("/mnt/usb/wanfeng.wav","r"))==NULL)
  {
  	printf("file cannot open\n");
  	return -1;
  }
  gettimeofday(&start,0);  
  while(1)
  {
  	  if((readsize=fread(readbuf,1,MAXSIZE,fp)) <= 0)
  	  {
  	  	break;
  	  }
  	  else
  	  {
  	  	printf("read:%d\n",readsize);
  	  }
  }
  gettimeofday(&stop,0);  
  timeval_subtract(&diff,&start,&stop);
  printf("time start:%ld s:%ld us\n",start.tv_sec,start.tv_usec);
  printf("time stop:%ld s:%ld us\n",stop.tv_sec,stop.tv_usec);
  fclose(fp);
  sleep(2);
  goto LOOP; 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值