読者です 読者をやめる 読者になる 読者になる

今日学んだこと

単語の検索 | プログラミング入門 | Aizu Online Judge
これやって学んだこと 大事そうなのでメモ

transform(t.begin(),t.end(),t.begin(),::tolower);

transformで文字列を大文字、小文字に変換できる

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int main(){
	string w,t;
	int ans=0;
	cin >>w;
	while(cin >>t){
		if(t=="END_OF_TEXT") break;

		transform(t.begin(),t.end(),t.begin(),::tolower);

		if(t==w) ans++;
	}
	cout <<ans <<endl;
	return 0;
}

注意するべきは using namespace std; を使うと二種類あるらしいtoupper, tolowerの区別が付かなくなるのか違う方を取るようになるのかエラーが出ること
using namespace std; 使うのは一般的には良くないらしい
使う場合は必ず " :: "を tolower, toupper の前につける