华为机试题:【中级】报文转换
描述: |
详细描述:
原型: int PktTrans(char* pInput, int iLen, char* pOutput) 输入参数: char* pInput: 给定的输入报文 int iLen: 给定报文的长度 输出参数: char* pOutput:转换后的报文 返回值: int:成功0,失败-1 |
#include <stdlib.h>
#include "OJ.h"
#include <string>
using namespace std;/*
功能:将给定的报文按规则转换成另一个报文后输出。转换规则如下:报文中如果出现0x7E,转义成为2个字节0x7D 0x5E,如果出现0x7D,转义成为2个字节0x7D 0x5D。最后在报文头尾各加上一个0x7E定界。示例(每个字节以十六进制数表示)给定原始报文:1D 2B 3C 4D 5E 7E 6F 7D 7E转换后的报文:7E 1D 2B 3C 4D 5E 7D 5E 6F 7D 5D 7D 5E 7E输入:
char* pInput: 给定的输入报文,内存空间由调用者申请和释放
int iLen: 给定报文的长度
输出:
char* pOutput:转换后的报文,内存空间由调用者申请和释放
返回:
int: 成功 0, 失败 -1*/int PktTrans(char* pInput, int iLen, char* pOutput)
{if (pInput == NULL || iLen < 0 ||pOutput == NULL){return -1;}/*如果长度为0就不转换,首尾没有必要加0x7e*/if (iLen == 0){return 0;}char temp[200] = {0};int i = 0, j = 0;for( ; i < iLen ; i++){ if (pInput[i] == 0x7E){temp[j] = 0x7D;temp[j + 1] = 0x5E;j += 2;}else if (pInput[i] == 0x7D){temp[j] = 0x7D;temp[j + 1] = 0x5D;j += 2;}else{temp[j] = pInput[i];j++;}}temp[j]='\0';/*首尾加上0x7E*/pOutput[0] = 0x7E;for (i = 0; i < j; i++){pOutput[i + 1] = temp[i];}pOutput[j + 1] = 0x7E;pOutput[j + 2] = '\0';return 0;
}
华为机试题:【中级】报文转换相关推荐
- 牛客网华为机试题(JavaScript)
最近在牛客网刷华为机试题,遇到了很多坑,记录: 每一道题目都经过自己实践验证 华为机试题 牛客网在javascript V8引擎下处理输入输出如下: 利用了readline()接收输入的每一行,多行处 ...
- 【牛客网】华为机试题(00、C++版本)
华为机试题,本来以为对一些基础的程序还是有点信心的:不过不练不知道,一练吓一跳.平时虽然也都码程序,但是一到机试题就各种乱七八的不适应.还是要加强一下练习. 1.字符串最后一个单词的长度 题目描述:计 ...
- 【牛客网-华为机试题目录】持续更新中
文章目录 博主精品专栏导航 华为机试题:HJ80 整型数组合并(python) 华为机试题:HJ76 尼科彻斯定理(python) 华为机试题:HJ73 计算日期到天数转换(python) 华为机试题 ...
- 华为机试python编程题_牛客网华为机试题之Python解法
牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...
- 【华为机试题分析-C/C++】知识点分类总结
专栏地址:https://blog.csdn.net/super828/category_10825347.html 字符串 [华为机试题分析] 1 字符串最后一个单词的长度 [华为机试题分析] 2 ...
- 华为电脑c语言总是错误,关于华为机试题求代码!解决方法
关于华为机试题求代码!!! n个字符串,1 如n=3 1.what is local bus? 2.this is local bus. 3.local bus is name sdhfj. 那么最长 ...
- 华为机试题库+题解【C语言版】
文章目录 前言 1.字符串最后一个单词的长度[***] 描述 输入描述 输出描述 示例 解题代码 2.计算某字符出现次数[****] 描述 输入描述 输出描述 示例 解题代码 3. 明明的随机数[** ...
- 【华为机试题分析】 4 字符串分割
我的首发平台是公众号[CodeAllen],学习交流QQ群:736386324,本文版权归作者所有,转载请注明出处 [华为机试题分析] 4 字符串分割 #include <stdio.h> ...
- 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典
文章目录 2023 年用 Python 语言解华为 OD 机试题,一篇博客找全. 华为 OD 机试题清单(机试题库还在逐日更新) 2023 年用 Python 语言解华为 OD 机试题,一篇博客找全. ...
最新文章
- python虚拟环境 windows环境搭建_windows 下搭建python虚拟环境(示例代码)
- 使用windows自带远程桌面远程办公
- unity 脚本中 调用另一个脚本_Unity 2019.4 脚本生命周期
- ZigBee TI ZStack CC2530 3.18 串口01-发送
- 判断是否为ie8浏览器
- windows下的diskpart指令彻底格式化清除U盘
- 顺序三元组 java_hihocoder-1550-顺序三元组
- 【script】python3中的docx、win32com和openpyxl模块
- 使用Tslib在触摸屏上显示汉字【转】
- 【数据结构 严蔚敏版】 链式栈基本操作
- 永久短网址生成 可以永久使用的短链接推荐
- ORACLE分配DBA权限
- mysql等保测评命令_Mysql等保部分加固
- 自适应,响应式以及图片的性能优化(响应式图片)
- Google Research等机构提出新的AI算法以了解人脑网络中的电刺激效应
- 今年晋升本没抱希望,已有绩效更好的同事将参加晋升,leader却临时让我也去答辩,怀疑自己被拉去陪跑,该怎么办?...
- 蒙特卡罗模拟赌徒人生
- BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
- 如果你是12306网站架构师,你会如何设计网站的软件架构和硬件系统架构?
- Django打造大型企业官网-项目实战(三)
热门文章
- 使用第三方APPKey授权 跳转登录 QQ
- office365邮箱批量添加到指定组
- Cloudflare api 设置Firewall rules防止wodpress被爆力破解
- mac OSx 打包成dmg文件
- 激光雷达+imu_无人驾驶技术入门(四):无人车传感器 IMU 深入剖析
- BZOJ [Ahoi2008]Meet 紧急集合
- 等不到明天了,office2021专业正式版镜像来了
- 方少森:开源运维软件在小米的应用
- Glade的简单使用说明+例子(一)
- Iure veniam nam impedit.