내 자신의 strlen 및 substr 함수를 만들려고하는데 문제가 1 개 있습니다.
예를 들어, 문자열 ABC가 있다고 가정 해 봅시다. 내 strlen은 3을 반환하고, 0에서 1로이 문자열을 자르고 싶다고 말하면 나에게 반환해야하지만 substr을 삽입하면 일부 쓰레기 값이 생깁니다. 새로운 문자와 길이를 확인 내가받을 것이다 (14)
이 내 코드입니다 :
내 자신의 strlen 및 하위 문자열 함수 만들기
int len(char *w){
int count=0;
int i=0;
while (w[i]!='\0')
{
count++;
i++;
}
//cout<<"Length of word is:"<<count<<"\n";
return count;
}
char *subs(char *w,int s,int e){
int i,j;
int size=0;size=(e-s);
//cout<<"new size is:"<<size<<"\n";
char *newW=new char[size];
for(i=0,j=s;j<e;i++,j++)
{
newW[i]=w[j];
}
return newW;
}
int main(){
char* x="ABC";
//int v=len(x);
//cout<<v;
char *n=subs(x,0,1);
cout << len(n);
for(int g=0;g<len(n);g++)
//cout<<n[g];
return 0;
}
내가, 감사합니다 내가 뭘 잘못했는지 몇 가지 의견을 좀하고 싶습니다!
디버깅을 시도 했습니까? –
끝에 '\ 0'을 써야합니다. 그리고 그 공간도 충분해야합니다. – BoBTFish
사용 후 문자 배열을'[]'삭제해야합니다. – urzeit