这是我面临的问题代码的一部分:

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

我做错什么了?请帮忙。

最佳答案

我想你想要这样简单的弦操作

snprintf(key,100,"/home/python/encrypt/%s.encrypted",argv[1]);
encrypt(argv[1],key, argv[3]);

关于c - 如何将命令行参数作为字符串参数的一部分传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24839226/

10-09 17:13