在C语言中,通过命令行接收md5sum可以使用popen()
函数。popen()
函数可以执行一个命令并返回一个指向输出流的指针,可以用来读取命令的输出结果。以下是一个示例代码:
#include<stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char path[100];
char command[128];
char result[33];
printf("请输入文件路径:");
scanf("%s", path);
sprintf(command, "md5sum %s", path);
fp = popen(command, "r");
if (fp == NULL) {
printf("无法执行命令\n");
exit(1);
}
fgets(result, 33, fp);
pclose(fp);
printf("MD5SUM: %s", result);
return 0;
}
在这个示例代码中,我们首先提示用户输入文件路径,然后使用sprintf()
函数构造一个命令字符串,该命令字符串包含了md5sum
命令和用户输入的文件路径。接着,我们使用popen()
函数执行这个命令,并将返回的文件指针存储在fp
变量中。如果fp
为NULL
,则说明无法执行命令,程序将退出。
接下来,我们使用fgets()
函数从fp
中读取命令的输出结果,并将其存储在result
变量中。最后,我们使用pclose()
函数关闭fp
,并输出result
变量的内容,即文件的MD5SUM值。
需要注意的是,这个示例代码仅适用于单个文件的MD5SUM计算,如果需要计算多个文件,则需要对代码进行相应的修改。
领取专属 10元无门槛券
手把手带您无忧上云