Jam*_*Joy 3 c linux terminal openssl popen
我需要将字符串变量传递给我为解密一段加密数据而执行的popen命令。我需要使用的代码段是:
char a[]="Encrypted data";
popen("openssl aes-256-cbc -d -a -salt <a-which is the data i have to pass here>","r");
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能将此变量传递到命令中。我尝试过:
popen("openssl aes-256-cbc -d -a -salt %s",a,"r");
Run Code Online (Sandbox Code Playgroud)
但是在编译时显示的错误表明popen传递了太多参数。请帮忙。提前致谢。操作平台:Linux
使用snprintf构建字符串传递popen方法的命令。
FILE * proc;
char command[70];
char a[]="Encrypted data";
int len;
len = snprintf(command, sizeof(command), "openssl aes-256-cbc -d -a -salt %s",a);
if (if len <= sizeof(command))
{
proc = popen(command, "r");
}
else
{
// command buffer too short
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6085 次 |
| 最近记录: |