- 博客(5)
- 资源 (12)
- 收藏
- 关注
原创 C++你所不知道的sprintf_s与sprintf的不同
sprintf_s 与sprintf的不同只是缓冲区的大小进行了安全处理吗? NO!int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format [,argument] ...);int sprintf(char *buffer,con
2013-06-18 11:48:40 61062 5
原创 C++ strcpy strcpy_s strncpy strlcpy
strncpy的用法:它与strcpy的不同之处就在于复制n个字符,而不是把所有字符拷贝(包括结尾'\0')。函数原型:char * strncpy(char *dst,const char * src, int n) 当src的长度小于n时,dst内的未复制空间用'\0'填充。否则,复制n个字符到dst,没有加'\0'。这里就要注意在字符串dst结尾处理加'\0'的情况了strcp
2013-06-19 15:38:51 3561
转载 C++中new与delete问题学习
C++中new与delete问题学习一.new char与delete问题1. 问题程序[cpp] view plaincopy#include using namespace std; void main() { char* des = new char()
2013-06-14 11:40:56 1327
原创 C++string类型字符串的存储方式
不知道你们有没有看过string类型变量的成员数据,在string变量中好像真正存储字符串的是一个叫_Ptr的指针,它指向string所存储的字符串首地址。当string变量被定义时,如果未初始化,_Ptr就是一个指向NULL的指针,而且_Ptr看起来像一个const char*类型的指针,如果它是一个空串,你无法使用str[0]='w'这样的赋值语句(假设str为string类型)。问题如下
2013-06-05 13:04:30 11740 6
原创 C++Vector的使用误区
初始化vector并传引用到DLL中,DLL中为该引用添加节点,vector内存释放时会报堆栈错误,原因?这个问题其实挺好避免的,说白了就是不要一个模块new,另一个模块delete,不要认为你的vector的节点数据在栈上,vector的本质就是一个变长数组,怎么会在栈上呢,数据肯定是在堆上的,这样你就是在dll中申请的存储,在主程序里面释放的存储,出错很正常。原因简要的分析一下
2013-06-05 10:30:57 5874 1
农场灌溉问题
2012-11-21
整数的二分查找 C语言
2011-03-11
以标志字符进行字符串逆转 C语言
2011-03-11
两只船的装载问题 回溯法
2011-03-11
01背包问题 动态规划法
2011-03-11
归并排序 输入所要排序的整数,进行排序,C语言
2011-03-11
快速排序 C语言编写
2011-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人