• 大小: 2KB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: c  代码,  

资源简介

在Linux环境下测试大文件(超过2G)的读写效率

资源截图

代码片段和文件信息

#include “test.h“
long long get_filesize(const char *filename)
{
    struct stat buf;
    if((stat(filename&buf))<0)
    {
       fprintf(stderr“EACCES:%s\n“strerror(EACCES));
       errno=ENOENT; 
       perror(filename);
       return 0; 
    }
    return (long long)buf.st_size;
}

/*int main(int argcchar *argv[])
{
  int fdin;
  struct timeval tvStarttvEnd;
//  double linStart=0linEnd=0ITime=0;
  int ITime=0;
  char *buf;
  //int buf[SIZE2];
  if(argc!=2)
  {
    printf(“argument is wrong\n“);
    exit(1);
  }
  gettimeofday(&tvStartNULL);
  if((fd=open64(argv[1]O_RDWR|O_CREAT|O_TRUNC)S_IRWXU|S_IRWXG)==-1)
  {
    printf(“open file %s error\n“argv[1]);
    exit(1);
  }
  gettimeofday(&tvEndNULL);
  ITime=tvEnd.tv_sec-tvStart.tv_sec;
  if(ITime<0)
  {
    printf(“error\n“);
    exit(1);
  }
  else
    printf(“The cost of open file %s is %dsecond\n“argv[1]ITime);
  buf=(char *)malloc(SIZE2); 
  for(i=0;i    buf[i]=‘a‘;
  gettimeofday(&tvStartNULL);
  for(i=0;i   if((n=write(fdbufSIZE2))!=(SIZE2))
   {
     printf(“write file error\n“);
     exit(1);
   }
  gettimeofday(&tvEndNULL);
  ITime=tvEnd.tv_sec-tvStart.tv_sec;
  if(ITime<0)
  {
    printf(“error\n“);
    exit(1);
  }
  else
    printf(“The cost of creat file %s (1KB one time)is %dsecond\n“argv[1]ITime);
  printf(“file %s size is %lu\n“argv[1]get_filesize(argv[1]));
  close(fd);
  free(buf);
  return 0;
}*/

评论

共有 条评论