1、技巧:
1.1、格式化字串
在C/C++的天下里除了使用STL的string外,最常用的就是char数组+sprintf()来格式化字符串了,作为笔者更喜欢用char + sprintf()来完成一些字串格式化的工作。sprintf有一个毛病就是不去检测目标char数组长度是否能存放我们期望的字串,经常导致程序崩溃。因此C标准库提供了snprintf来解决,但是两个平台名字竟是不一样的,windows下的为sprintf_s,为了统一两者的差异,我们可以定义下面的宏来解决。
#ifndef _snprintf
#if defined WIN32 || defined WIN64
#define _snprintf sprintf_s
#else
#define _snprintf snprintf
#endif
#endif
1.2、拷贝字串
同样的拷贝字符串在两个平台下名字也不一样。windows下为strcpy_s(),linux下为strncpy(),且这两个函数的参数顺序不一样,所以必须定义带参数的宏来解决。笔者通常不用而是使用_snprintf(des,size,"%s",src)来实现拷贝,这是恶趣味。