这个程序为什么没有出现内存泄露呢?
// gKeyParse.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <assert.h>
#include <iostream>
using namespace std;
int gKeyParse(char *buf,char *key,char *value)
{
int ret=0;
do
{
if(!buf||!key||!value)
{
ret=-1;
break;
}
char *p=NULL;
if(!(p=strstr(buf,key)))
{
ret=-2;
break;
}
p=p+strlen(key);
while(*p==0x20||*p==':'||*p=='=')
{
p++;
}
while(*p!=0x20&&*p!='\r'&&*p!='\n'&&(value+1))
{
*value++=*p++;
}
*value='\0';
}while(0);
return ret;
}
int _tmain(int argc, _TCHAR* argv[])
{
char buf[100]="This is a key : hello !";
char value[2];
char key[20]="This is a key";
memset(value,0,sizeof(value));
int ret=gKeyParse(buf,key,value);
printf("%s\n",value);
//cout<<value<<endl;
getchar();
return ret;
}
value[2]中保存了超出2个字符的数据,为什么还能正确运行?疑惑。。。。
相关推荐
c程序内存泄露定位
目录 1、前言 2、非库函数内存泄露定位 3、包含库函数的内存泄露定位 1、前言 c程序的开发者时常会遇到内存泄露的问题,其主要原因malloc方法分配的内存,使用完之后没有进行释放。如果程序中涉及到分配内存的地方较多,想靠分析代码去定位问题就较为困难。本文通过宏替换和钩子函数两种方式来解决上述内存泄露问题。 2、非库函数内存泄露定位 如果确定库函数没有内存泄露,就只需要定位非库方法的内存泄露,可以改写系统的malloc和free方法,然后用宏替换的方式...
iOS应用程序内存泄露的监测
iOS程序内存泄露的检测 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录iOS程序内存泄露的检测Allocation工具使用步骤1.制造内存泄露2.使用Allocations工具进行内存检测总结 # 前言 Instruments是一个灵活又强大的工具,它可以让开发者跟踪一个或者多个进程,并检测收集的实时数据,使开发者更好地理解应用程序和操作系统的行为和性能。 本文将演示如何使用Instruments中的Allocation和Leaks工具,进行分析和修复应用程序中内存泄露的
政府科技管理者在推动科技成果转化过程中,如何精准识别重点产业的共性技术需求?.docx
政府科技管理者在推动科技成果转化过程中,如何精准识别重点产业的共性技术需求?
高校技术转移办公室人员如何高效管理并推广本校科技成果?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
产业园区如何精准对接企业技术需求与高校科研成果?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。


