C/C++ C中fgets的用法和注意事项 fgets函数的声明如下: s表示待接收字符串的缓冲区,size为最大大小,stream为读取的数据流。 对于数据的读取来说,函数实际最多读到size - 1个字节,如果读取的数据比这个长,会自动截断... 05月10日评论 阅读全文
C/C++ C++中可变长参数的使用方法 一、可变长参数介绍 某些情况下为了完成一些功能,需要用到可变长参数的函数,例如我们最常用的printf和scanf函数: 它们首先都是一个字符串打头,后面再跟上不定数量的参数,为我们的输出形式提供了多... 05月07日评论 阅读全文
C/C++ do-while(0)在宏定义中的作用 do { ... } while(0)是C/C++中常见的定义方式,使用它构造后的宏定义不会受到大括号、分号等的影响,总是会按你期望的方式调用运行。 一、错误引出 以下宏定义: 对于语句f(1,2);... 05月07日评论 阅读全文
C/C++ 代码格式化工具astyle的安装和使用 astyle是一个代码格式化工具,为C,C++,JAVA等语言提供代码格式化功能。 官方描述为:Artistic Style is a source code indenter, formatter,... 05月04日评论 阅读全文
C/C++ c++调用lua错误集锦 一、luaL_dofile(): cannot open ./lib.lua: No such file or directory 问题原因 运行应用的目录和lua文件不在同一个目录,.lua文件所在... 04月28日评论 阅读全文
C/C++ 面试题:转换十六进制字符串到十六进制数据 前几天面试时候遇到的问题: 给定一个十六进制字符串"AB",转换成十六进制的整数0xab输出。 临时接到的面试通知,赶场子过去一坐下就给个题目,说实话面试了一两个星期是第一次做这方面的面试题。没有思想... 04月21日评论 阅读全文
C/C++ vector中reserve和resize的区别 reserve方法用来给vector预留空间,预留的空间只会改变capacity的大小,不会改变size大小。resize方法表示重新调整数组大小,capacity和size都会改变。 使用reser... 04月13日评论 阅读全文
C/C++ 多态的原理:vptr指针和vtable虚函数表 多态是C++中的重要内容,也是设计模式的基础。 形成多态的几个基本条件为: 继承和虚函数 父类对象指向子类对象 多态形成的原理就是vptr指针和vtable虚函数表,当一个类中有虚函数时,编译器就会自... 04月10日评论 阅读全文
C/C++ socket多路IO复用之select模型 select模型是socket中的一种多路IO复用模型之一,通过轮询的方式来完成多路访问控制。 一个很简单的例子来描述select模型: 幼儿园老师要照顾所有的小朋友,每天他都会轮流去问小朋友:“小朋... 04月09日评论 阅读全文