关键词搜索

源码搜索 ×
×

漫话Redis源码之八十八

发布2022-02-27浏览545次

详情内容

这里其实就是一个测试程序,跟文件的操作相关,挺简单:

  1. #include <stdio.h>
  2. #include <fcntl.h>
  3. #include <sys/stat.h>
  4. #include <stdlib.h>
  5. #include <unistd.h>
  6. #include <time.h>
  7. int main(int argc, char **argv) {
  8. struct stat stat;
  9. int fd, cycles;
  10. if (argc != 3) {
  11. fprintf(stderr,"Usage: <filename> <cycles>\n");
  12. exit(1);
  13. }
  14. srand(time(NULL));
  15. char *filename = argv[1];
  16. cycles = atoi(argv[2]);
  17. fd = open(filename,O_RDWR);
  18. if (fd == -1) {
  19. perror("open");
  20. exit(1);
  21. }
  22. fstat(fd,&stat);
  23. while(cycles--) {
  24. unsigned char buf[32];
  25. unsigned long offset = rand()%stat.st_size;
  26. int writelen = 1+rand()%31;
  27. int j;
  28. for (j = 0; j < writelen; j++) buf[j] = (char)rand();
  29. lseek(fd,offset,SEEK_SET);
  30. printf("Writing %d bytes at offset %lu\n", writelen, offset);
  31. write(fd,buf,writelen);
  32. }
  33. return 0;
  34. }

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载