#include <iostream>
#include <string>
using namespace std;
bool isTermofAbuse(string str) {
if( 0 <= str.find("시발") && str.find("시발") <= sizeof(str) ) return 1;
else if ( 0 <= str.find("병신") && str.find("병신") <= sizeof(str) ) return 1;
else if( 0 <= str.find("멍청") && str.find("멍청") <= sizeof(str) ) return 1;
else return 0;
}
int main() {
string str;
bool check;
while(cin) {
cout << "문자열을 입력하세요. " << endl;
getline(cin, str);
check = isTermofAbuse(str);
if( true == check) cout << "error : 비속어 포함" << endl;
else cout << str << endl;
}
return 0;
}
bool isTermofAbuse 함수는 문자열을 시그니쳐로 받아서, 그 문자열내에 특정단어가 있는지 검사해서 있으면 true 반환.
std::string.find() 함수가, 성공시 단어가 있는 곳의 시작점 좌표를 반환하므로, 값이 문자열의 길이 내에 있으면 있는걸로 판단.
'P > C++' 카테고리의 다른 글
The Trip (2) | 2014.06.27 |
---|---|
ACM 문제중 WERTYU (0) | 2013.09.06 |
링크드리스트로 하드디스크 흉내내기. (0) | 2012.11.13 |
Calling (0) | 2012.10.01 |
strlen(), strcpy() 구현 (0) | 2012.08.29 |