报错求助

specter1210 2016-12-05 03:31:58
引用
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <string>
using namespace std;


string& TiHuan(string& str,const string& old_date,const string& new_date)
{
for(string::size_type pos(0);pos!=string::npos;pos+=new_date.length())
{
if( (pos=str.find(old_date,pos))!=string::npos )
{
str.replace(pos,old_date.length(),new_date);
}
else
break;
};
return str;
};

int main(void)
{


//Son.ShowTheData(10);
//char i_date[1096]={0};
char *i_date=NULL;
//char DateBuffer[50]={0};
char Month[20]={0};
time_t TheDate;
time(&TheDate);
printf("time is: %s", ctime(&TheDate));
memcpy(i_date,ctime(&TheDate) + 4,20);
//memcpy(Month,ctime(&TheDate) + 4,3);
string Date = "12345";
Date = i_date;

TiHuan(Date,"Jan","01");
TiHuan(Date,"Feb","02");
TiHuan(Date,"Mar","03");
TiHuan(Date,"Apr","04");
TiHuan(Date,"May","05");
TiHuan(Date,"Jun","06");
TiHuan(Date,"Jul","07");
TiHuan(Date,"Aug","08");
TiHuan(Date,"Sep","09");
TiHuan(Date,"Oct","10");
TiHuan(Date,"Nov","11");
TiHuan(Date,"Dec","12");
const char *DateBuffer = Date.c_str();
cout<<"date is:"<<Date<<endl;
//memcpy(DateBuffer,i_date,20);
if(strncmp(DateBuffer,"09 05 14:35:03 2016",20) > 0) //Mon Dec 05 14:35:03 2016
{
cout<<"time is over"<<endl;
}
else
{
cout<<"u can use it"<<endl;
};

system("pause");

return 0;
};



报错
0x0ff9caa8 (msvcr100d.dll) 处最可能的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突
0x101acaa8 (msvcr100d.dll) 处有未经处理的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突

麻烦大神帮忙看看
...全文
108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
specter1210 2016-12-07
  • 打赏
  • 举报
回复
谢谢
paschen 版主 2016-12-06
  • 打赏
  • 举报
回复
因为你的i_date还没有指向有效的对象,你就调用memcpy(i_date,ctime(&TheDate) + 4,20); char *i_date=NULL; 改成: char i_date[1000];
小灸舞 2016-12-05
  • 打赏
  • 举报
回复
你尝试对一个空指针进行写入或者解引用操作就会出现这个错误。
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
赵4老师 2016-12-05
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
qq_32148499 2016-12-05
  • 打赏
  • 举报
回复
你的i_date是个空指针啊,肯定报错了

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧