这是我遇到问题的代码的一部分:
void encrypt(const char *fileIn, const char *fileOut, const unsigned char *key);
int main(int argc, char *argv[])
{
const unsigned char key[100];
srand(time(NULL));
aes_init();
encrypt(argv[1], "/home/python/encrypt/"argv[1]".encrypted", argv[3]);
return 0;
}
如您所见,在encrypt
函数中,我要求用户通过命令行输入文件名以进行输入。对于相同功能的输出,我希望相同的名称仅由' .encrypted'附加。但是,每当我尝试编译代码时,我都会收到以下错误。
In function ‘main’:
error: expected ‘)’ before ‘argv’
error: too few arguments to function ‘encrypt’
note: declared here
我做错了什么?请帮忙。
答案 0 :(得分:2)
我认为你想要像这样简单的字符串操作
snprintf(key,100,"/home/python/encrypt/%s.encrypted",argv[1]);
encrypt(argv[1],key, argv[3]);
答案 1 :(得分:1)
char buffer[CCHMAXPATH];
sprintf(buffer, "/home/%s.encrypted", argv[1]);
encrypt(argv[1], buffer, argv[3]);