首页 > 其他分享 >课上测试2 myxxd

课上测试2 myxxd

时间:2023-11-29 09:13:17浏览次数:32  
标签:十六进制 读取 课上 测试 xxd 字符串 格式 myxxd ascii

1.学***d的使用,提交至少3个应用截图

2.xxd的主要功能是什么?需要使用什么系统调用来实现?写出你的推导过程,命令

xxd的主要功能是以十六进制格式显示文件的内容,并提供将文件转换为十六进制格式或从十六进制格式转换回二进制格式的能力。它还可以用于编辑文件的十六进制内容。

在推导xxd的实现过程时,我们可以假设它是通过读取文件的二进制数据,并将其转换为十六进制格式进行显示或处理的。因此,它需要使用一些系统调用来实现文件的读取、转换和输出。

推导过程:

  1. 使用系统调用打开文件:

    int fd = open(filename, O_RDONLY);
    
  2. 使用系统调用读取文件的二进制数据:

    ssize_t bytesRead = read(fd, buffer, bufferSize);
    
  3. 将读取的二进制数据转换为十六进制格式:

    char hexBuffer[2 * bytesRead + 1];
    for (int i = 0; i < bytesRead; i++) {
        sprintf
    
    
{
  "error": true,
  "message": "network error"
}

3.写出实现xxd的伪代码

  1. 打开源文件
  2. 如果文件打开失败,则显示错误信息并退出
  3. 初始化计数器count为0
  4. 读取源文件的内容到缓冲区buffer
  5. 如果读取失败,则显示错误信息并退出
  6. 初始化变量line为一个空字符串
  7. 初始化变量hex为一个空字符串
  8. 初始化变量ascii为一个空字符串
  9. 遍历缓冲区中的每个字节byte
    10. 将byte转换为十六进制格式,并将结果添加到hex字符串中
    11. 将byte转换为ASCII字符,并将结果添加到ascii字符串中
    12. 将计数器count加1
    13. 如果count达到16或已遍历完缓冲区中的所有字节
    14. 将line字符串格式化为行号和hex、ascii字符串的组合
    15. 显示line字符串
    16. 重置line、hex和ascii字符串为空
  10. 关闭源文件

4.编写myxxd实现xxd的功能

5.myxxd 支持命令行传入参数-h n 显示前n个字节,-t n 显示最后面n 个字节,注意要先打印文件长度len, 保证n <= len

标签:十六进制,读取,课上,测试,xxd,字符串,格式,myxxd,ascii
From: https://www.cnblogs.com/zy1116/p/17863689.html

相关文章

  • 基于FPGA的图像sobel锐化实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览   将FPGA的仿真结果导入到matlab显示图像效果   2.算法运行软件版本MATLAB2022a,vivado2019.2 3.算法理论概述       基于FPGA的图像Sobel锐化实现,是一种通过使用Sobel算子对图像进行边缘检测,从而提高图像清晰度的方法。Sobel......
  • springboot 自定义响应体大小测试接口
    @ResponseBody@RequestMapping("/def/response/body/service")publicStringBuilderdefResponseBodyService(@RequestParam(name="count")Integercount,HttpServletRequestHttpRequest)throwsInterruptedException{  StringbaseStr="0......
  • 关键字 开发-06 封装yaml文件直接生成测试用例
    前言前面几个章节,我们主要是如何通过yaml文件的数据自动转换成测试用例,并按照关键字去执行,如下是之前我们通过参数化的形式手动执行用例。fromutils.runimportRunByKey#获取文件路径file_path=Path(__file__).parent.joinpath('data','login.yml')@pytest.mark.para......
  • Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析
    基本测试主要包括配置检查和BT测试两大部分配置检查:为了进一步确保porting没有问题,在测试之前先确认fw以及config文件是否存在。adbshell到测试平台的根目录,检查测试平台的vendor/firmware/目录中rtlxxxx_fw以及rtlxxxx_config文件是否存在(xxxx为BTChip型号)......
  • 海外时区测试注意事项
    测试有时会遇到时区测试,如设备或系统在不同时区进行测试,或跨时区访问设备,检索或者时间显示等等问题,这之间需要一个时区转换测试,实际情况下,针对不同设备或者系统的需求,也需要根据设计进行测试,不能一概而论。这里记录一下时区遇到的一些不同概念,测试点及相关功能后续想到了再更新。......
  • 软件测试/人工智能|基于录制的接口测试用例自动生成技术探究
    导言在现代软件开发中,接口测试是确保系统功能和性能的关键步骤。然而,手动编写接口测试用例往往耗费大量时间和资源。基于录制的接口测试用例自动生成技术通过简化这个流程,显著提高了测试效率和准确性。录制接口测试用例自动生成技术简介录制接口测试用例自动生成技术允许开发......
  • 软件测试/人工智能|使用 GraphWalker 实现自动化测试用例生成
    导言在软件开发中,测试是确保代码质量和稳定性的关键步骤之一。而自动生成测试用例可以大大提高测试效率和覆盖率。GraphWalker是一个基于模型的测试工具,能够帮助开发者通过定义和遍历图模型来自动生成高质量的测试用例。GraphWalker简介GraphWalker是一个开源的测试工具,它......
  • 接口自动化测试用例的设计
     做接口自动化的前提,需设计接口自动化测试用例--设计接口自动化测试用例的前提:如下一、搞清接口测试的目的: 二、搞清接口测试的优先级:三、搞清接口测试的业务逻辑和应用场景1、单接口场景的测试---如:登录2、依赖接口场景的测试---如:需先登录获取token,方能进行后续接口的......
  • 测试博客园VSCode插件 —— 欧陆战争4
    测试vscode插件上传随笔所有内容都是来自贴吧“欧陆战争4吧”此处为做笔记自用欧陆战争4吧兵种分类英系:大不列颠、瑞士。西系:西班牙、葡萄牙、丹麦。普系:普鲁士、梅克伦堡、奥尔登堡、拿骚、巴伐利亚、布伦瑞克、黑森、符腾堡、巴登、莱茵同盟。(注意萨克森并不是普系兵......
  • 安全防护之渗透测试
    针对企业安全体系,以合宜价格并多元化黑客进犯方法及思想尝试侵略该企业的网站和信息体系的渗透测验服务,意图是找出各种潜在的缝隙,验证企业的数据是否可被盗取或损坏,评价信息体系的安全性是否有需求加强。产品优势:1、多元化进犯方法:针对不同缝隙供给多元进犯方法2、项目支撑全面:一......