string 형에서는 다음과 같은 함수를 제공한다.
size_type string.find(string sub);
sizs_type는 int와 동일하다고 보면 된다.
이 함수는 입력받은 sub와 일치하는 부분을 찾으면 그부분의 위치를 반환하고 찾지 못하면 -1을 반환한다.
find함수를 써서 문자열을 찾는 프로그렘을 만들어 보자.
문자열a를 입력받고 그보다 작은 문자열 b를 입력받아서 a에 와 일치하는 부분이 있으면 그 위치를 출력하고 없으면 -1을 출력한다.
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main(){
string a;
string b;
getline(cin,a);
getline(cin,b);
cout<<a.find(b);
system("PAUSE");
return 0;
}
결과
it was the next morning when the big yeller dog came.
the
7Press any key to continue . . .
결과에서 보다시피 find함수는 문자열의 왼쪽부터 검사해 나가다가 일치하는 문자열을 발견했을때 리턴값을 반환한다. 그래서 일치하는 부분이 여러군데 있을 경우 가장 첫번째 결과만 출력된다.
size_type string.find(string sub);
sizs_type는 int와 동일하다고 보면 된다.
이 함수는 입력받은 sub와 일치하는 부분을 찾으면 그부분의 위치를 반환하고 찾지 못하면 -1을 반환한다.
find함수를 써서 문자열을 찾는 프로그렘을 만들어 보자.
문자열a를 입력받고 그보다 작은 문자열 b를 입력받아서 a에 와 일치하는 부분이 있으면 그 위치를 출력하고 없으면 -1을 출력한다.
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main(){
string a;
string b;
getline(cin,a);
getline(cin,b);
cout<<a.find(b);
system("PAUSE");
return 0;
}
결과
it was the next morning when the big yeller dog came.
the
7Press any key to continue . . .
결과에서 보다시피 find함수는 문자열의 왼쪽부터 검사해 나가다가 일치하는 문자열을 발견했을때 리턴값을 반환한다. 그래서 일치하는 부분이 여러군데 있을 경우 가장 첫번째 결과만 출력된다.
댓글
댓글 쓰기