string 大小寫轉換

2021-06-08 12:29:51 字數 1851 閱讀 8486

【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,判斷它是 大寫字母 ...