c++大小写转换

2025-10-14 16:42:46

今天给来讲一下c++大小写转换的方法,那c++大小写转换到底怎写那?请看下面4种方法:

c++大小写转换

c++大小写转换

1.用C语言标准库函数toupper,tolower

头文件:cctype   c下面:ctype.h

转大写:

Ansi版: int toupper(int c);</a>

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 

c++大小写转换

c++大小写转换

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 转换大小写

c++大小写转换

c++大小写转换

头文件: 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); 

c++大小写转换

4.在boost库中可以用string_algorithm 来大小写转换函数to_lower 和 to_upper

Example:

#include <boost/algorithm/string.hpp>    

using namespace std;    

using namespace boost; 

wstring wstr =L"Abc";

boost::to_lower(wstr); // abc 

c++大小写转换

以上内容就是c++大小写转换的4种方法。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢