C/C++
羽飞
这个作者很懒,什么都没留下…
展开
-
验证snprintf是否以null结尾
昨天一个同事问我snprintf末尾是不是一定为'\0',我印象中以前看过strncpy不保证以'\0'结尾。今天早起感觉不妥,干脆试验一把。下面是结果。测试代码#include int main(void){ char szBuf[10] = {0}; snprintf(szBuf, sizeof(szBuf), "1234567890"); print原创 2012-07-20 09:30:49 · 1868 阅读 · 0 评论 -
TinyXml从内存中解析,并保存到内存
网上介绍TinyXml的例子很多,所以不用再介绍了。最近也需要解析XML,从网上找了一下,发现TinyXml是最合适的。TinyXml同时支持Windows和Linux平台,而且它很小巧,功能也全面,包括对XML各种特性的操作。不过美中不足,虽然网上的应用实例很多,但是大部分都是从文件中解析和把数据保存到文件中的。而我需要的是解析内存中的数据,并且需要把数据保存到内存中。 TinyXm原创 2012-08-18 21:53:13 · 5121 阅读 · 1 评论 -
堆-链表实现
小顶堆大顶堆的概念大家应该都很熟悉了,如果不了解,可以搜索一下,网上很多介绍,而且很多源码实现,都很简单。不过从网上看了一些堆的实现,都是用数组的。但是数组有一个缺陷,需要扩展时,就要复制原来的内存,申请新的空间。所以我在想能不能用链表,发现还真可以,就凑凑写了个代码。最后代码是写完了,发现其实链表没有必要,而且会占用更多的内存,尤其是对于那种int型变量,过多的指针真是浪费了大量内存。如果真原创 2015-03-15 20:37:24 · 2897 阅读 · 1 评论 -
TIP linux下hook memset函数
linux下hook memset函数memset在libc.so中。hook可以帮助我们查找一些问题,比如hook memset可以根据某些memset参数特征记录一些信息,可以记录下调用栈信息。hook的代码:#define _GNU_SOURCE#include <stdlib.h>#include <stdio.h>#include <dlfcn....原创 2019-07-31 11:45:42 · 390 阅读 · 0 评论