我在C中写了两个小程序,crypt
和decrypt
。
我可以从终端打电话:
./crypt some_argument it works.
但我希望传递解密crypt
的输出。
我已经尝试过了:
./decrypt $(./crypt hello) does not work
./crypt hello | ./decrypt does not work
源代码: 隐窝:
#include <stdio.h>
#include <stdlib.h>
#define CRYPT_KEY 5
char *crypto(char *str) {
char *tmp_adr = str;
while (*str != 0) {
*str += CRYPT_KEY;
str++;
}
return tmp_adr;
}
int main(int argc, char *argv[]) {
printf("Crypted message: %s\n", crypto(argv[1]));
}
Decypt是相同的,但在这里有一个减号:
*str -= CRYPT_KEY;
有人知道怎么做吗?
答案 0 :(得分:2)
输出包含空格。如果您想要argv[1]
中的所有内容,则需要引用它。
即。 ./decrypt "$(./crypt some_argument)"