c++ 程序在VS2010中调试正常 编译后运行出错 50

在VS中可以正常调试,但是生成解决方案后运行一会程序就会停止运行:出错的代码如下:intmain(intargc,_TCHAR*argv[]){for(inti=0;i<... 在VS中可以正常调试,但是生成解决方案后运行一会程序就会停止运行:
出错的代码如下:
int main(int argc, _TCHAR* argv[])
{

for (int i=0;i<=1000;i++)
{
initApp();
}
system("pause");
return 0;
}
int initApp()
{

LPTSTR lpPath = new char[MAX_PATH];
strcpy_s(lpPath,MAX_PATH, ".\\setting.ini");
LPTSTR RoomNum = new char[6];
LPTSTR IPAdr = new char[20];
LPTSTR MACAdr = new char[100];
int isFirstRun;//1初次运行 0已经是注册过自启动的

//读配置文件,如果是第一次运行,则设置程序自启动
isFirstRun=GetPrivateProfileInt("AppConfig", "isFirstRun", 1, lpPath);
//保存本机的IP
GetLocalIP(IPAdr);
WritePrivateProfileString("AppConfig", "IPAdr", IPAdr, lpPath);

if (isFirstRun==1)
{
SetAutoRun(TRUE);
//设置为自启动后修改配置文件
WritePrivateProfileString("AppConfig", "isFirstRun", "0", lpPath);
//保存本机的Mac地址
unsigned char address[100];
getLocalMac(address);
strcpy_s(MACAdr,strlen(MACAdr)+1,(const char*)address);
WritePrivateProfileString("AppConfig", "MACAdr", MACAdr, lpPath);
}

return 0;
}

第一次调用initapp函数正常,第二次调用时,在进入方法后程序就停止运行了,求大神指教。
展开
 我来答
高中数学知识课堂
2016-05-12 · 超过131用户采纳过TA的回答
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:172万
展开全部
new申请的资源 用完之后要delete释放
追问

在initapp函数后面加上了:

//释放内存

if (lpPath!=NULL)

{

delete []lpPath;

lpPath=NULL;

}

if (IPAdr!=NULL)

{

delete []IPAdr;

IPAdr=NULL;

}

if (MACAdr!=NULL)

{

delete []MACAdr;

MACAdr=NULL;

}


运行后出现:

追答
确定一下strcpy_s用的对不对
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式