永发信息网

win8.1 下 VS2013编译C++代码时崩溃

答案:2  悬赏:40  手机版
解决时间 2021-03-03 22:55
code:

//delete.cpp -- using the delete operator
#include
#include
using namespace std;
char* getname(void); //function prototype
int main()
{
char* name; //create pointer but no storage

name = getname(); //assign address of string to name
cout << name << " at " << (int*)name << "\n";
delete[] name; //memory free

name = getname(); //reuse freed memory
cout << name << " at " << (int*)name << "\n";
delete[] name; //memory freed again
return 0;
}
char*getname() //return pointer to new string
{
char temp[80]; //temporary storage
cout << "Enter last name:";
cin >> temp;
char*pn = new char[strlen(temp) + 1];
strcpy_s(pn,81, temp); //copy string into smaller space
return 0;
}

Crash info:
问题事件名称:APPCRASH
应用程序名称:Learning.exe
应用程序版本:0.0.0.0
应用程序时间戳:538c95ef
异常代码:c0000005
异常偏移:000019d7
最佳答案
//delete.cpp -- using the delete operator
#include 
#include 
using namespace std;
char* getname(void);    //function prototype
int main()
{
char* name;      //create pointer but no storage

name = getname();  //assign address of string to name
cout << name << " at " << (int*)name << "\n";
delete[] name;    //memory free

name = getname();   //reuse freed memory
cout << name << " at " << (int*)name << "\n";
delete[] name;    //memory freed again
return 0;
}
char*getname()      //return pointer to new string
{
char temp[80];    //temporary storage
cout << "Enter last name:";
cin >> temp;
char*pn = new char[strlen(temp) + 1];
// 这里应该只拷贝 strlen(temp) + 1
strcpy_s(pn, strlen(temp) + 1, temp);  //copy string into smaller space
// 返回pn
return pn;
}
全部回答
我的电脑更换主板安装win8.1后也遇到vc2015x64安装出错的问题,导致一些驱动不能成功安装,而查询后发现要首先安装补丁windows8.1-kb2999226-x64和windows8.1-kb2919442-x64,但这两个补丁一直安装不成功,折腾了两天,终于搞定了: 1、管理员模式启动cmd,输入:wusa.exe /uninstall /kb:2999226,回车卸载; 输入:dism/online /cleanup-image /startcomponentcleanup,回车执行完成。 2、打开运行,输入“services.msc”命令打开服务窗口,找到windowsupdate服务,将其停止; 然后进入“c:\windows\softwaredistribution\datastore”文件夹,将里面的文件全部删除;进入“c:\windows\softwaredistribution\”,将其中的“download”里的文件删除干净。 3、重启电脑,关闭防火墙和电脑上的安全防护类软件。 4、点击安装补丁windows8.1-kb2999226-x64和windows8.1-kb2919442-x64,补丁最后到微软官网上下载; 之后就可以顺利安装或修复vc2015x64了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
你们觉得走川西吃喝玩乐的路线怎样?
西司马村怎么去啊,有知道地址的么
看土建图纸时,南北方向轴线编号有没有特别规
写出得中进士后喜悦心情的诗句是什么?
呼市二中好吗?
文具店中2支自动铅笔卖7元3支钢笔卖18元张老
精卫填海的意思快速
【10以内减法】10以内的加减法
康复医疗门诊在什么地方啊,我要过去处理事情
做包皮手术一个月,线是掉了,可就是水肿消不下
泽森水暖在哪里啊,我有事要去这个地方
五行缺木的女孩取名
【你好英文】我这都是为了你好英语怎么说
足球运动员平均身高,踢足球最适合的身高
关于丧假有两个亲人去事有几天假
推荐资讯
开了1小时的房,能退么?开房的时候68
急!想开一张100万银行承兑汇票,大约需要交
直角转弯如何不压右边线
招商银行信用卡,我的账单日是14号,还款日是
汉森足道地址有知道的么?有点事想过去
台胞证用英语怎么说
《刑法修正案(八)》根据刑法宽严相济原则,
一些商家用在商品价签上标低价,结账时却收高
金亭芳小区地址在哪,我要去那里办事
海宁第一中学东门这个地址在什么地方,我要处
比6多4的数是多少
oppor7s这款手机值得购买吗?跟小米max和红米
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?