小结: 有时候是需要从linux的控制台获取想要的数据,下面是总结前人加上亲自测试可用
void get_md5sum()
{
char out_buf[1024]; 这两个BUF要一样大
memset(out_buf, 0x00, sizeof(out_buf));
//示例: 获取md5sum pic.jpg 较验文件码, e0bac 90024 4b89c 7d5c7 8a38b 35341 8b
get_system_console_return_value("md5sum pic.jpg|cut -d\" \" -f1",out_buf);
printf("out_buf=%s\r\n", out_buf);//e0bac 90024 4b89c 7d5c7 8a38b 35341 8b
}
int get_system_console_return_value(const char * p_cmd, char * out_buf)
{
FILE *fstream = NULL;
char out_buffer[1024];这两个BUF要一样大
memset(out_buffer, 0, sizeof(out_buffer));
sprintf(out_buffer, p_cmd);
if (NULL == (fstream = popen(out_buffer,"r")))
{
return -1;
}
//读取执行结果
while (NULL != fgets(out_buffer, sizeof(out_buffer), fstream))
{
printf("%s\r\n", out_buffer);
}
memcpy(out_buf,out_buffer,sizeof(out_buffer));
pclose(fstream);
return 0;
}