请教一点传参的知识。求大手子解答

m0_38117705 2017-11-14 11:48:47
现有如下代码:
char* Get_File0_MD5(){ //获取1.sql的md5值
char capBuf[64] = {0};
static char tabBuf[64] = {0};
FILE *fp = NULL;
sprintf(capBuf,"%s","md5sum /mnt/hd1/ud.sql");
fp = popen(capBuf, "r");
while((fgets(tabBuf, sizeof(tabBuf), fp))!=NULL){
}
pclose(fp);
return tabBuf;
}

char* Get_File1_MD5(){ //获取1.sql的md5值
char capBuf[64] = {0};
static char tabBuf[64] = {0};
FILE *fp = NULL;
sprintf(capBuf,"%s","md5sum /mnt/hd1/1.sql");
fp = popen(capBuf, "r");
while((fgets(tabBuf, sizeof(tabBuf), fp))!=NULL){
}
pclose(fp);
return tabBuf;
}

char* Get_File2_MD5(){ //获取2.sql的md5值
char capBuf[64] = {0};
static char tabBuf[64] = {0};
FILE *fp = NULL;
sprintf(capBuf,"%s","md5sum /mnt/hd1/2.sql");
fp = popen(capBuf, "r");
while((fgets(tabBuf, sizeof(tabBuf), fp))!=NULL){
}
pclose(fp);
return tabBuf;
}

除了关键部分都是相同的,请教一下怎么设置参数然后写到里边使代码更简化。谢谢大家
...全文
91 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
可以传文件名进去。
  • 打赏
  • 举报
回复
ipqtjmqj 2017-11-14

char* Get_Filex_MD5(int x){ //获取1.sql的md5值
  char capBuf[64] = {0};
  static char tabBuf[64] = {0};
  FILE *fp = NULL;
  if (x == 0){
    sprintf(capBuf,"md5sum /mnt/hd1/ud.sql");
  } else{
    sprintf(capBuf, "md5sum /mnt/hd1/%d.sql", x);
  }
  fp = popen(capBuf, "r");
  while((fgets(tabBuf, sizeof(tabBuf), fp))!=NULL){
  }
  pclose(fp);
  return tabBuf;
}

  • 打赏
  • 举报
回复
m0_38117705 2017-11-14
引用 1 楼 ipqtjmqj 的回复:

char* Get_Filex_MD5(int x){ //获取1.sql的md5值
  char capBuf[64] = {0};
  static char tabBuf[64] = {0};
  FILE *fp = NULL;
  if (x == 0){
    sprintf(capBuf,"md5sum /mnt/hd1/ud.sql");
  } else{
    sprintf(capBuf, "md5sum /mnt/hd1/%d.sql", x);
  }
  fp = popen(capBuf, "r");
  while((fgets(tabBuf, sizeof(tabBuf), fp))!=NULL){
  }
  pclose(fp);
  return tabBuf;
}

真的谢谢您,调试了一下没有问题,也学到了。感激不尽
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.6w+

社区成员

C语言相关问题讨论
社区管理员
  • C语言
  • 小灸舞
申请成为版主
帖子事件
创建了帖子
2017-11-14 11:48
社区公告
暂无公告