请论坛中的c++高手帮忙看下这程序 谢谢
编写一函数,其功能是从已知字符串中指定位置p开始截取一个长度为len的子串。我的编的程序如下 运行后出现乱码 帮忙看下 谢谢
#include<iostream>
#include<string>
#include<conio.h>
#define N 80
using namespace std;
char *subcut(char *a,int p,int len);
char main()
{
char a[N+1],*ps;
char *subcut(char*,int,int);
int p,len;
cout<<"请输入一个字符串:"<<endl;
gets(a);
cout<<"请输入指定位子和长度:"<<endl;
cin>>p>>len;
ps=subcut(a,p,len);
cout<<ps;
_getch();
return 0;
}
char *subcut(char *a,int p,int len)
{
char substr[N+1];
int i;
char *ps;
ps=substr;
if(p<1||p>strlen(a)||len<1)
cout<<"data error";
else
for(i=1,a=a+p-1;i<=len && *a!='\0';i++)
*ps++=*a++;
*ps='\0';
return substr;
}