アルファベットを小文字から大文字へ変換します。
#include <tchar.h>
#include <iostream>
#include <string>
#include <algorithm>
#include <windows.h>
/*
アルファベットを小文字から大文字へ変換する
*/
std::wstring WStringToUpper
(
std::wstring oString
)
{
std::wstring::iterator ite = oString.begin();
std::wstring::iterator iteEnd = oString.end();
while( ite != iteEnd ) {
/*
'a~z'なら'A~Z'に変換する
*/
if ( ( L'a' <= *ite ) && ( L'z' >= *ite ) ) {
*ite += ( L'A' - L'a' );
}
/*
'A~Z'なら'A~Z'に変換する
*/
else if ( ( L'a' <= *ite ) && ( L'z' >= *ite ) ) {
*ite += ( L'A' - L'a' );
}
// 次の文字へ
ite++;
}
// 正常終了
return( oString );
}
/*
アルファベットを小文字から大文字へ変換する
*/
int _tmain
(
int argc
, _TCHAR* argv[]
)
{
// 標準出力へユニコードを出力する
setlocale( LC_ALL, "Japanese" );
// アルファベットを小文字から大文字へ変換する
std::wstring oResultStr = WStringToUpper( L"abcdefghijlkmnopqrstuvwxyz" );
// 結果を表示
std::wcout << oResultStr.c_str() << std::endl;
// 正常終了
return( 0 );
}
ABCDEFGHIJKLMNOPQRSTUVWXYZ