【1.用c語言標準庫函式toupper,tolower】
標頭檔案:cctype c下面:ctype.h
轉大寫ansi版: int toupper(int c);
unicode版:int towupper(wint_t c);
msdn: toupper, _toupper, towupper, _toupper_l, _towupper_l
轉小寫:
int tolower(
int c
);int towlower(
wint_t c
);msdn:tolower
缺陷:只能轉換單個字元
example:
wchar wch = 'a';
wch = towupper(wch); // a
【2.用c++語言標準庫函式_strlwr_s, _strupr_s】
注意:要使用安全的字串函式,不要用_strlwr。
標頭檔案:string.h
轉小寫:
ansi:
errno_t _strlwr_s(
char *str,
size_t numberofelements
);unicode:
errno_t _wcslwr_s(
wchar_t *str,
size_t numberofelements
);注意:numberofelements 要加上最後null字元長度,即numberofelements = strlen(str) + 1;
轉大寫:
errno_t _strupr_s(
char *str,
size_t numberofelements
);errno_t _wcsupr_s(
wchar_t * str,
size_t numberofelements
);example:
wchar widestr = l"abc";
_wcslwr_s(widestr, wcslen(widestr) + 1); // abc
_wcsupr_s(widestr, wcslen(widestr) + 1);// abc
【3.std::string 轉換大小寫】
很遺憾,std::string 沒有提供大小寫轉換的功能,所以只能用stl中的transform結合toupper/tolower完
成。標頭檔案: string, cctype,algorithm
轉小寫transform(str.begin(),str.end(),str.begin(),tolower);
transform(wstr.begin(), wstr.end(), wstr.begin(), towlower);
轉大寫transform(s.begin(), s.end(), s.begin(), toupper);
transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);
example:
wstring wstr =l"abc";
transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);
【4.boost庫中string_algorithm 提供了大小寫轉換函式to_lower 和 to_upper】
example:
#include
using namespace std;
using namespace boost;
wstring wstr =l"abc";
boost::to_lower(wstr); // abc
大小寫轉換
小寫數值轉大寫 xieshuxu 傳入轉換字串 傳入整數單位 如 元 傳入小數點後一位單位 如 角 傳入小數點後兩位單位 如 分 public string xiaotoda string xiao,string one,string two,string tree if xiao.indexof ...
大小寫轉換
problem description x現在要學習英文以及各種稀奇古怪的字元的了。現在他想把一串字元中的小寫字母變成大寫字元,大寫字母變成小寫字母,其他的保持不變。input 輸入有多組。每組輸入乙個字串,長度不大於80,不包含空格。output 輸出轉換後的字串 sample input a b...
大小寫轉換
a b c d這樣的52個字母 包括大寫 在計算機中儲存時也要使用二進位制數來表示。標準ascii碼使用7位二進位制數 剩下的1位二進位制為0 來表示所有的大寫和小寫字母,如下圖所示,可以看出字母對應大小寫的差值為32。來進行大小寫轉換吧。請用程式實現 輸入乙個英文本母char,判斷它是 大寫字母 ...