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