这个程序为什么没有出现内存泄露呢?

liuyang1943 liuyang1943 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
// 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方法,然后用宏替换的方式...

gam_fan

iOS应用程序内存泄露的监测

iOS程序内存泄露的检测 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录iOS程序内存泄露的检测Allocation工具使用步骤1.制造内存泄露2.使用Allocations工具进行内存检测总结 # 前言 Instruments是一个灵活又强大的工具,它可以让开发者跟踪一个或者多个进程,并检测收集的实时数据,使开发者更好地理解应用程序和操作系统的行为和性能。 本文将演示如何使用Instruments中的Allocation和Leaks工具,进行分析和修复应用程序中内存泄露的

qq_41431582

政府科技管理者在推动科技成果转化过程中,如何精准识别重点产业的共性技术需求?.docx

政府科技管理者在推动科技成果转化过程中,如何精准识别重点产业的共性技术需求?

BIZKEEN

高校技术转移办公室人员如何高效管理并推广本校科技成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

产业园区如何精准对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN
评论 13
收藏 已收藏
分享
返回顶部
liuyang1943
C++ 语言 65,214 成员 250,514 内容