最初思路:直接将字符串的十六进制转为八进制。

遇到障碍:

1.如何将十六进制字符串中的每一位字符单独取出??

如果只是取出字符串中的字符,直接将自付款看做数组就行,直接以数组形式取出字符就可以。

2.如何将十六进制成功转化成相对应的八进制??这其中涉及到“进位”的问题,八进制是字符串,这一点的实现没有十进制那样简单。

将十六进制转为十进制,再由十进制转为八进制。十进制转为八进制在依靠“栈”实现起来极其简单。

十六进制直接转为八进制最困难的地方,是无法做到像十进制那样可以依靠“加减乘除”,十六进制作为字符串,限制较多。

网上思路十六进制转为十进制再转为八进制相对来说是比较简单的思路。如果十六进制直接转为八进制就需要字符串转为字符串,相对来说较为麻烦。

编写代码时遇到的问题:

1.取出子字符串

取出子字符串可以用函数strncpy,如果单独从字符串中取出字符可以直接将字符串看做数组取出单个字符。

strncpy:

strncpy(char*dest,constchar*src,size_tn)

strcpy(char*dest,constchar*src)

dest -- 指向用于存储复制内容的目标数组。

src -- 要复制的字符串。

n -- 要从源中复制的字符数。

1.如果要“src+n”可以改变复制子字符串的起始位置,字符串从0开始。

2.strncpy不会对dest追加‘\0’。

会追加\0但是自己实验的时候在字符串过长的时候会有些地方不会追加\0,简单来说就是追加\0这一操作并不完美。

所以无论是否追加\0,自己一定要手动追加。

3.和strcpy一样,strncpy把源字符串的字符复制到目标数组。然而,它总是 正好向dest写入len个字符。如果strlen(src)的值小于len,dest数组就用额外的NUL字节填充到len长度,如果strlen(src)的值大于或等于len,那么只有len个字符被复制到dest中。

4.复制子字符串的时候,如果dest中存在字符串,注意不要覆盖dest中的‘\0’。

※※

1.从源中复制的字符数好像不能低于3,否则复制的子字符串不准确,事实是如此码还是自己编写代码的时候出现的错误??

是strncpy在复制字符串之后,不会对字符串追加\0。(其实是追加的,只是有些情况下追加\0并不全,所以会输出的字符串并不准确)

2.如果对一个字符串多次作为指向存储复制内容的目标数组,进行strncpy复制,内容是叠加?还是覆盖?

直接覆盖

3.strncpy不会对dest追加‘\0’,那么strcpy会追加吗??

strcpy会追加‘\0’但是可能是自己操作不严谨或者其他原因,有的时候、0的追加并不完美。

4.字符串结尾没有‘\0’会有什么影响?为什么复制子字符串的时候n>=3的时候,输出字符串的时候就不会乱码,但是小于3的时候就会有乱码?与‘\0’有关??

\0是字符串的结束标志。有关,因为\0是字符串结束标志。

总体来说,这个代码的实现并不困难。自己编写代码的时候主要是技术知识不牢靠,对于一些函数的了解和运用并不熟练。

课后需要腾出时间了解常用函数。

十六进制转八进制代码心得相关推荐

  1. 十六进制转八进制c++代码_如何将十六进制代码上传到微控制器?

    十六进制转八进制c++代码 Read: 8051 Microcontroller programming using Keil Uvision IDE 阅读: 使用Keil Uvision IDE进行 ...

  2. 【蓝桥杯】基础练习 十六进制转八进制(Java实现)

    试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1< ...

  3. 基础练习 十六进制转八进制 c语言

    基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大写字母A ...

  4. java蓝桥杯 试题-基础练习-十六进制转八进制

    试题-基础练习-十六进制转八进制 题目 试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 ...

  5. VB 进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转

    模块包含了下面的各种转换: 二进制转十进制 二进制转化为八进制 二进制转化为十六进制 八进制转化为十进制 八进制转化为二进制 八进制转化为十六进制 十进制转二进制 十进制转化为八进制 十进制转化为十六 ...

  6. 蓝桥杯基础练习合集一(C语言) 1.A+B问题2.数列排序3.十六进制转八进制4.十六进制转十进制5.十进制转十六进制

    目录 1.A+B问题 2.数列排序 3.十六进制转八进制 4.十六进制转十进制 5.十进制转十六进制 1.A+B问题 问题描述 输入A.B,输出A+B. 输入格式 输入的第一行包括两个整数,由空格分隔 ...

  7. 蓝桥杯练习题之十六进制转八进制

    基础练习 十六进制转八进制 时间限制:1.0s   内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n< ...

  8. 蓝桥杯简单题之十六进制转八进制(JAVA版)

    首先对等待程序猿成长之路系列的小伙伴们说声抱歉,春节来临,可能要拖更一段时间,但是草稿已经在写,发布将会于春节后进行发布 春节第一天闲着无聊打算找个蓝桥杯的题目练练手,诶嘿,这就找到一题,话不多说,上 ...

  9. 十六进制转八进制(十六进制转十进制,十进制转八进制)

    ##刚开始学习C的小白,2022-1-11第一篇,分享自己写的十六转八进制,欢迎各位指导!!![可爱皱眉][可爱皱眉][可爱皱眉][可爱皱眉][可爱皱眉] 在此程序中,将十六进制转成十进制,再转成八进 ...

最新文章

  1. NeHe OpenGL第二十四课:扩展
  2. REST(三)Restlet实现REST
  3. 租用服务器多开虚拟机,云服务器多开虚拟机
  4. 什么是侧翼区(flanking region)和侧翼区单核苷酸多态性(Flanking SNPs)
  5. 海康、大华视频流地址格式
  6. 交通-地铁客流量python时间序列预测
  7. K8s 多节点部署流程
  8. 计算机通信与网络(一)
  9. 【转】GitHub 优秀的 Android 开源项目
  10. 网络设备流量及性能监控的实现
  11. 40篇最受网友欢迎的web前端HTML精选文章合集
  12. ‘When we dream, we have the perfect chemical canvas for intense visions’ “入梦时,我们就拥有了能够呈现强烈幻象的完美化学画布”
  13. 给VBA窗体增加最大化、最小化窗体按钮
  14. 【iOS-iap防护】验证用户付费收据!拒绝iap Cracker!拒绝iap Free!让iphone越狱用户无从下手!【2012年5月2日更新防护iap Free的方法】
  15. android 拍摄视频设置参数,手机如何设置参数,才能拍出高清视频?
  16. 服务注册与发现(中)
  17. 自行车在线租赁管理系统的设计与实现
  18. springboot项目前后端搭建
  19. 1.1 计算机硬件基础知识
  20. Java生成随机邀请码

热门文章

  1. 基于Java毕业设计沧州雄狮足球俱乐部管理系统源码+系统+mysql+lw文档+部署软件
  2. SOUI界面库 第1讲-开发环境搭建
  3. 复现失败Oriented R-CNN RTX 2080Ti
  4. python开发路由器_Django之路由分配系统
  5. 苹果电脑安装win11双系统
  6. php email包,PHPMailer下载
  7. 通过查看Windbg中变量值去定位C++软件异常的又一典型案例分享
  8. 【致敬未来的攻城狮计划】— 连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下(文字上的初理解)
  9. Ubuntu18.4重装系统
  10. vscode 使用flake8和yapf