实习总结(第八周)

C++ ini配置文件的格式及读写操作


1 为什么要使用ini或者其它(例如xml,json)配置文件?


        如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序发布后还能根据需要进行必要的配置;配置文件有很多如INI配置文件,XML配置文件,还有就是可以使用系统注册表等。注意:ini的后缀名也不一定是".ini"也可以是".cfg",".conf ”或者是".txt"。因为ini文件实质就是txt文本文件。

2 ini配置文件的格式


1、INI文件由节、键、值组成。
节:
  [section]
参数(键=值)
  name=value
注解
  注解使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。

1)对节进行说明:
什么是sections ?
        所有的parameters都是以sections为单位结合在一起的。所有的section名称都是独占一行,并且sections名字都被方括号包围着([ and ])。在section声明后的所有parameters都是属于该section。对于一个section没有明显的结束标志符,一个section的开始就是上一个section的结束,或者是end of the file。Sections一般情况下不能被nested,当然特殊情况下也可以实现sections的嵌套。

2)对参数进行说明:
        INI所包含的最基本的“元素”就是parameter;每一个parameter都有一个name和一个value,name和value是由等号“=”隔开。name在等号的左边。

3)对注释内容进行说明:
        在INI文件中注释语句是以分号“;”开始的(有些人定义类是由#注释,例如下面的RrConfig)。所有的所有的注释语句不管多长都是独占一行直到结束的,在分号和行结束符之间的所有内容都是被忽略的。

好了,以上就是ini配置文件的格式,是最简单的配置文件了。

条件编译#ifdef的妙用详解

#define            定义一个预处理宏
#undef            取消宏的定义

#if                   编译预处理中的条件命令,相当于C语法中的if语句
#ifdef              判断某个宏是否被定义,若已定义,执行随后的语句
#ifndef            与#ifdef相反,判断某个宏是否未被定义
#elif                若#if, #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的else-if
#else              与#if, #ifdef, #ifndef对应, 若这些条件不满足,则执行#else之后的语句,相当于C语法中的else
#endif             #if, #ifdef, #ifndef这些条件命令的结束标志.
defined          与#if, #elif配合使用,判断某个宏是否被定义

 itoa()函数 和 atoi()函数(字符串与整型数的转换)

一、atoi()函数


atoi()是C语言中的字符串转换成整型数的一个函数

(1)【头文件】#include <stdlib.h>

(2)【函数原型】int atoi (const char * str);

(3)【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等),直到遇上数字或正负符号才开始做转换,而再遇到 非数字 或 字符串结束时(’\0’) 才结束转换,并将结果返回。函数返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。

二、itoa()函数


itoa()函数是C语言中的整型数转换成字符串的一个函数

(1)【头文件】#include <cstdlib>

(2)【函数原型】char *itoa(int value, char *string, int radix);

(3)【参数说明】
            value:要转换的数据。
            string:目标字符串的地址。
            radix:转换后的进制数,可以是10进制、16进制等,范围必须在 2-36。
(5)【注意】
itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,需要用sprintf。C标准库中有sprintf,功能比这个更强,用法跟printf类似:

char str[255];
sprintf(str, "%x", 100); //将100转为16进制表示的字符串。

 const 修饰符用法

        首先,来看看const的基本含义。在 C/C++ 语言中,const关键字是一种修饰符。所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码。就 const 修饰符而言,它用来告诉编译器,被修饰的这些东西,具有“只读”的特点。在编译的过程中,一旦我们的代码试图去改变这些东西,编译器就应该给出错误提示。

  所以,const修饰符的作用主要是利用编译器帮助我们检查自己代码的正确性。我们使用const在源码中标示出“不应该改变”的地方,然后利用编译器,帮助我们检查这些地方是否真的没有被改变过。如果我们不小心去修改了这些地方,编译器就会报错,从而帮助我们纠正错误。使用const和不使用const,对于最终编译产生的代码并没有影响。

虽然const对于最终代码没有影响,但是尽可能使用const,将帮助我们避免很多错误,提高程序正确率。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是一个可能的计算机专业实习实习总结,共10。请根据你的实习经历进行适当的修改和调整。 第1: 这我开始了我的计算机专业实习,我被分配到了开发团队,我很兴奋。我主要的任务是帮助团队开发一个新的Web应用程序,这个应用程序将帮助客户更好地管理他们的业务流程。 在这个星期,我学习了公司的开发流程和工具。我还学习了使用一些新的编程语言和工具,包括JavaScript和Git。我发现这个实习很有挑战性,但我也很享受学习新东西的过程。 第2: 这我开始着手进行一些实际的开发工作。我在公司的开发环境中设置了一个新的项目,我使用React编写了一个简单的用户界面。我也学会了如何使用Jest进行测试。 我的导师对我非常耐心地解释了一些编程问题,我对我的编程技能有了更深入的理解。这我也学到了很多关于敏捷开发的知识,这对于我的工作非常有帮助。 第3: 这我与其他团队成员一起合作编写代码。我负责一些小任务,比如创建表单和处理表单提交。我意识到我的工作与其他团队成员的工作紧密相关,我们需要相互协作才能成功地完成项目。 我还参加了一些团队会议,了解了一些关于公司业务的信息。这使我更加了解公司的目标和工作重点,这有助于我更好地完成我的工作。 第4: 这,我开始对我的代码进行调试。我发现有些错误很难找,但是我学到了如何使用调试工具来帮助我找到这些错误。 我还与我的导师一起进行了一些代码审核。他们对我的代码进行了审查,提出了一些建设性的意见。这对我来说是一个很好的经验,因为我学到了如何写更好的代码。 第5: 这我与另外一个开发团队合作,他们负责开发后端应用程序。我负责与他们协作,确保前端和后端代码能够顺利交互。这让我更好地了解了整个应用程序的架构和流程。 我还学习了一些关于代码部署的知识,包括如何将代码部署到生产环境中。这些知识对于我未来的工作非常有帮助。 第6: 这

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值