我的程序应该从命令行读取加密文件,但我不知道如何传递命令行参数。以下是说明:
*移位密码是一种非常基本的加密算法,其中通过用明字符中的每个字符替换字母中后面的固定数量的字符(即移位值)来执行加密。例如,如果我们的移位值为2,则明文白菜变为ecddcig。
很容易看出,移位密码非常弱,因为只有26种可能的移位方式(其中一种方法与完全不移位相同)。您的程序应该在命令行中读取已使用移位密码加密的文件的名称。它将使用所有可能的移位值解密文件,然后确定哪个移位值是正确的。程序决定的移位值是正确的,当应用时,它导致出现在字典中的文件单词的最高百分比。 *
我编写的函数用于将字符串中的字符移动n,用于确定给定单词是否出现在字典中的函数,以及将字符串拆分为标记的函数。
答案 0 :(得分:2)
在C中,您可以在main函数中使用argc
和argv
访问命令行参数。像这样:
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; i++) {
printf("%s\n", argv[i]);
}
}
请注意,我从argv列表中的第二项开始,因为第一项始终是可执行文件本身的名称。
使用./program file.txt file2.txt
进行调用时,会打印
file.txt
file2.txt
希望有所帮助!