题目是:不用c的库函数, 用c++实现const char *strstr(const char *p1, const char *p2)的这个函数--从p1这个字符串里面找出p2这个字符串的位置, 返回第一个位置
我的答案:
const char *strstr(const char *p1, const char *p2)
{
int i;
for( i=0;*(p1+i)!='\0';i++)
{
if(*(p1+i)==*p2)
{
for(int j=0;*(p2+j)!='\0';j++)
{
if(*(p2+j+1)=='\0')
return (p1+i);
if(*(p1+i+j+1)!=*(p2+j+1))
break;
}
}
}
if(*(p1+i)=='\0')
return NULL;
return (p1+i);
}

解决方案 »

  1.   

    你哪用CFileDialog了,没看着啊
      

  2.   

    不好意思啊!粘贴出现了错误,那个是我以前的问题,我要问题是:
    准备调用CFileDialog SaveDlg(FALSE);
    但是运行到SaveDlg.DoModal();这个语句时错误,弹出对话框:0x77f4418e 处未处理的异常: 0xC0000005: 写入位置 0x00430248 时发生访问冲突。
    我不是在OnSaveDocument(LPCTSTR lpszPathName)里调用的,是在自己新建的菜单项的相应函数里调用的,是不是这个原因导致的错误呢?我试了,在OnSaveDocument(LPCTSTR lpszPathName)里调用是没问题的。
      

  3.   

    不好意思啊!粘贴出现了错误,那个是我以前的问题,我要问题是:
    准备调用CFileDialog SaveDlg(FALSE);
    但是运行到SaveDlg.DoModal();这个语句时错误,弹出对话框:0x77f4418e 处未处理的异常: 0xC0000005: 写入位置 0x00430248 时发生访问冲突。
    我不是在OnSaveDocument(LPCTSTR lpszPathName)里调用的,是在自己新建的菜单项的相应函数里调用的,是不是这个原因导致的错误呢?我试了,在OnSaveDocument(LPCTSTR lpszPathName)里调用是没问题的。
      

  4.   

    不好意思啊!粘贴出现了错误,那个是我以前的问题,我要问题是:
    准备调用CFileDialog SaveDlg(FALSE);
    但是运行到SaveDlg.DoModal();这个语句时错误,弹出对话框:0x77f4418e 处未处理的异常: 0xC0000005: 写入位置 0x00430248 时发生访问冲突。
    我不是在OnSaveDocument(LPCTSTR lpszPathName)里调用的,是在自己新建的菜单项的相应函数里调用的,是不是这个原因导致的错误呢?我试了,在OnSaveDocument(LPCTSTR lpszPathName)里调用是没问题的。