书上的一个例子~无法运行~在线等!

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:30:53
#include "stdafx.h"
#include "iostream.h"
#define _MAX_ 256
int delstring (char **target,char *source);
int main()
{
char *p_target=0;
char *p_source=0;
int k=0;
p_target=new char[_MAX_];
P_source=new char[_MAX_];
cout<<"请输入目标串: ";
cin>>p_target;
cout<<"请输入删除串: ";
cin>>P_source;
cout<<"在\""<<p_target<<"\"内删除\""<<p_source<<endl;
cout<<"-----------------"<<endl;
if(strlen(p_target)<strlen(p_source))
cout<<"目标串长度小于替换串"<<endl;
else
{
k=delstring(&p_target,p_source);
if (k>0)
cout<<p_target<<endl;
else
cout<<"没找到"<<endl;
}
delete[] p_target;
delete[] p_source;
p_target=0;
p_source=0;

你这个写有的差的有点多,不好给你改,改了也未必是你书上的,重照书打一次吧.练习了.学这东西,前期多打点没坏处.
删除子串可以用char *strstr(const char *haystack, const char *needle);这个函数来直接查询子串.然后将这些清掉的,当然,书上的是逐个字符去匹了删除,你可以打好了书上的,再试试自己写写

哥们你的
delstring(char **target,char *source)函数从while开始后面的,应该少写了一部分,代码根本不完整。