使用popen时出现意外的sh语法错误

时间:2012-06-22 10:18:20

标签: c linux openssl popen printf

我已经编写了一个C代码,如下所示,用于解密加密字符串,为此目的使用popen

snprintf(cmdcheck,1000,"echo %s %c openssl aes-256-cbc -d -a -salt -pass pass:excel2012", idcheck,'|');
FILE *cmdid = popen(cmdcheck,"r");

代码符合要求,但在运行时会出现以下错误:

sh: Syntax error: "|" unexpected

可以采取哪些措施来解决问题?提前致谢。我的操作平台是Linux。

1 个答案:

答案 0 :(得分:0)

线索是错误来自sh - “|”是sh中的保留字符,所以你需要逃避它:'\ |'应该这样做。