나는 두 가지 C 스타일 문자열 매개 변수 s 및 pattern을받는 strCut이라는 함수를 작성하는 저주받은 클래스에서 연습 문제를 가지고 있습니다. 패턴 문자열이 s에 포함되면 함수는 s에 나타나는 패턴의 첫 번째 항목이 s에서 제거되도록 s를 수정합니다. 패턴 검색을 수행하려면 미리 정의 된 strstr 함수를 사용하십시오.C++ strstr 함수를 사용하여 검색하려는 하위 문자열의 부분을 제거하십시오.
내 코드는 다음과 같습니다.
void strCut(char *s, char *pattern)
{
char *x;
char *y;
x = strstr(s, pattern);
cout << x; // testing what x returns
}
int main()
{
char s[100]; // the string to be searched
char pattern[100]; // the pattern string
char response; // the user's response (y/n)
do
{
cout << "\nEnter the string to be searched ==> ";
cin.getline(s, 100);
cout << "Enter the pattern ==> ";
cin.getline(pattern, 100);
strCut(s, pattern);
cout << "\nThe cut string is \"" << s << '"' << endl;
cout << "\nDo you want to continue (y/n)? ";
cin >> response;
cin.get();
} while (toupper(response) == 'Y');
도움이 매우 감사합니다. 감사합니다
숙제 인 것 같기 때문에 나는 단지 힌트를 줄 것이다.'strstr'은 절반의 일을한다. 나머지 작업은'memmove '에 의해 수행됩니다. ('memcpy' 나'strcpy'도 그 부분을 할 수있는 것처럼 보일지 모르지만 그것은 틀립니다.)'strlen'도 필요할 것입니다. – zwol