[CODE]
#include <iostream>
#include <algorithm>
#include <string>
using std::cout;
using std::endl;
using std::string;
using std::transform;
int main()
{
string s = “Yoway Bahamut Lagoona”;
transform( s.begin(), s.end(), s.begin(), toupper );
cout<<s<<endl;
}
[/CODE]
초간단해 뵈지만 저 내용을 찾는데 무려 1시간이 걸렸다 -_-;;
일단 msdn 이나 그런곳에서 찾으면 locale 이란 객체를 사용해서 영문자뿐이아니라 불어,독어 등등의 문자변화예제가 나오는데 토나오게 복잡하다.
[CODE]
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc1 ( “German_Germany” );
char *string = “HELLO, MY NAME IS John!”;
use_facet<ctype<char> > ( loc1 ).tolower
( &string[0], &string[strlen(&string[0])-1] );
cout << “The lowercase string is: ” << string << endl;
}
[/CODE]
이게 msdn 에 나온 예제… 뭐 자세히 보면 그리 복잡해뵈지도 않지만…문제는 비주얼스튜디오 2002에서 기본적으로 컴파일해서 실행시키면 런타임 오류가 난다. 컴파일 옵션 /EHsc 를 주라고 하는데… 얼마나 찝찝한가! 안그래도 UNIX 포팅때문에 CString 을 없에고 있는 마당인데 뭔가 컴파일 설정 들어가고 그러는 코드를 짜놓으면 후회할것 같다.
locale 에 관련된 내용도 좀 찾아보고 사용해야 되고..
에휴…어쨋거나 메모. STL 사용의 길은 멀고 험하다..
ps. 나중에 locale 관련 참고할 url (http://turboc.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_tip&no=16)