将文件作为命令行参数传递

2023-12-05

我的程序应该从命令行读取加密文件,但我不知道如何传递命令行参数。这些是说明:

*移位密码是一种非常基本的密码算法,其中通过用字母表中后面固定数量的字符(即移位值)的字符替换明文中的每个字符来执行加密。例如,如果我们的移位值为2,那么明文白菜就变成了ecddcig。

很容易看出移位密码如此弱,因为只有 26 种可能的移位方式(这 26 种方式中的一种与根本不移位相同)。您的程序应该在命令行读取已使用移位密码加密的文件的名称。它将使用所有可能的移位值解密文件,然后确定哪个移位值是正确的。程序确定正确的移位值是应用后导致文件单词出现在字典中的最高百分比的值。 *

我编写了将字符串中的字符移动 n 的函数、确定给定单词是否出现在字典中的函数以及将字符串拆分为标记的函数。


在 C 中,您可以使用以下命令访问命令行参数argc and 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

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将文件作为命令行参数传递 的相关文章

随机推荐

  • 未获取服务中共享首选项的更新值

    我正在将一些值存储到从小部件启动的活动的共享首选项中 如果我从同一个小部件启动的服务中检索该值 则它不是更新的值 我得到了共享偏好中先前的值 即使我检查了共享首选项 xml 中的该值 我也看到了更新后的值 为什么会发生这种情况 我知道wid
  • 如何更改 Visual Studio 查找结果窗口中活动行的背景颜色?

    我刚刚切换到黑暗主题在 Visual Studio 中 无法在 查找结果 窗口中找到用于更改当前活动行的背景颜色的设置 最明显的地方是在 工具 选项 字体和颜色 查找结果窗口 设置中 但没有活动行的选择 我还查看了 Visual Studi
  • 单击时如何在角度中添加删除(切换)类

    我想在单击时向 li 添加活动和开放类 并在再次单击时删除这些类 li class treeview li li ts menuToggle event any this renderer addClass 您可以使用模板引用变量来切换模板
  • 使用 Delphi 调用 Http GET url 最简单的方法是什么?

    我想在我的应用程序中调用一个 Web 服务 我可以通过导入 WSDL 来使用它 或者仅使用带有 URL 和参数的 HTTP GET 所以我更喜欢后者 因为它很简单 我知道我可以使用 indy idhttp get 来完成这项工作 但这是非常
  • 使用 Groovy 脚本从 Jenkins 中的工作区读取文件

    我想使用 Groovy 插件添加一个构建步骤来读取文件并根据文件的内容触发构建失败 如何在 groovy 插件中注入工作区文件路径 myFileDirectory Get workspace filepath here myFileName
  • 错误 TF30063:您无权访问...\DefaultCollection

    我在用着TFS 预览 Team Foundation Service 与我使用 Visual Studio 2012 的一个项目一起使用 我还在我的大多数项目中使用本地 TFS 服务器 当我在使用 TFS 预览后使用本地 TFS 并返回使用
  • 什么取代了 HTML5 表格中的 cellpadding、cellspacing、valign 和align?

    In 视觉工作室 我看到这些警告 验证 HTML 5 属性 cellpadding 不是元素 table 的有效属性 验证 HTML 5 属性 cellspacing 不是元素 table 的有效属性 验证 HTML 5 属性 valign
  • 将字符串值转换为 double 类型的二维数组

    我有一个字符串 String stringProfile 0 4 28 10 4 93 20 3 75 我试图将它变成一个数组 如下所示 double values 0 4 28 10 4 93 20 3 75 我已格式化字符串以删除所有空
  • 如何访问记录属性?

    我需要访问 记录属性并设置 获取该属性值 首先 我想访问属性 但我不能 怎么了 版本 德尔福 XE6 示例代码 type TmyRecord record private Str String public property StrProp
  • async/await 函数比较

    我试图理解 async await 我想知道这两种方法是否相同 如果不是 你能解释一下为什么吗 public async Task
  • Beautifulsoup 发现没有值的标签和属性?

    我试图获取具有属性但没有值的特定标签的内容 例如我怎样才能得到它 cont
  • 我关闭不起作用

    我正在使用 VB net 我今天将应用程序连接到数据库时遇到问题 因此我想添加错误处理来关闭表单 问题是当我把Me close在一个表格中 这个表格仍然开放 我用的是Form Closing事件处理程序来验证它是否被调用 然后逐步运行我的应
  • 为什么自定义验证器的错误消息没有显示在消息框中?

    我已经尝试了很多方法 但验证摘要中未显示自定义验证器的错误消息 但它 ValidationSummary 显示了所有其他类型验证器的错误消息
  • 如何计算一个人的年龄(年、月、日)?

    我想计算给定出生日期和当前日期的人的年龄 以相对于当前日期的年 月和日为单位 例如 gt gt gt calculate age 2008 01 01 1 years 0 months 16 days 任何指向执行此操作的算法的指针都将受到
  • Ruby映射方法语法问题[重复]

    这个问题在这里已经有答案了 可能的重复 我当时正在看Railscasts 更多虚拟属性剧集 在那一集中 瑞安一度使用了一种我无法理解的映射方法语法 有人可以解释一下吗 tags map name join Tags是Tag Model的一个
  • 为什么这个 MATLAB 类不保留其属性?

    我在这里遗漏了一些非常简单的东西 我有一个 MATLAB 类 它创建一个包含两个按钮的图窗 每个按钮调用相同的函数 但这些按钮的句柄未保留在该函数中 我不知道为什么 这是课程 简化了 classdef Test properties Fig
  • 在 Java 中使用嵌套循环的三角形字模式

    对于此作业 输入任何单词后 它将按照如下所示的模式打印它 在本例中 该单词是计算机 C O O M M P P U U T T E E RETUPMOCOMPUTER 目前 我的代码是这样的 String output for int a
  • jQuery 滚动顶部火狐浏览器不工作

    这个脚本 function onscroll document getElementById divs style top body scrollTop px Fiddle http jsfiddle net Hed2J 1 不适用于最新的
  • Inno Setup - 控件/复选框的动态定位

    我在页面上有一堆复选框 所有这些都是有条件可见的 并且Top位置是相对于前一个复选框定义的 例如 CheckBox4 Top CheckBox3 Top CheckBox3 Height 5 当至少一个组件设置为不可见时 结果如下所示 如果
  • 将文件作为命令行参数传递

    我的程序应该从命令行读取加密文件 但我不知道如何传递命令行参数 这些是说明 移位密码是一种非常基本的密码算法 其中通过用字母表中后面固定数量的字符 即移位值 的字符替换明文中的每个字符来执行加密 例如 如果我们的移位值为2 那么明文白菜就变