function template
<locale>

std::toupper

template <class charT>  charT toupper (charT c, const locale& loc);
使用 locale 将小写字母转换为大写字母
该函数根据 locale 的 ctype facet,将参数 c 转换为其大写等效项(如果 c 是小写字母且具有大写等效项)。如果无法进行此类转换,则返回 c 不变。

此函数返回的结果与调用 ctype::toupper 相同,如下所示:

1
use_facet < ctype<charT> > (loc).toupper (c)

此函数模板重载了 C 函数 toupper(定义在 <cctype> 中)。

参数

c
要转换的字符。
loc
要使用的 locale。它必须具有 ctype 方面。

模板参数 charT 是字符类型。

返回值

如果存在,则为 c 的大写等效项。否则为 c 不变。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
// toupper example (C++)
#include <iostream>       // std::cout
#include <string>         // std::string
#include <locale>         // std::locale, std::toupper

int main ()
{
  std::locale loc;
  std::string str="Test String.\n";
  for (std::string::size_type i=0; i<str.length(); ++i)
    std::cout << std::toupper(str[i],loc);
  return 0;
}

输出

TEST STRING.


数据竞争

将访问 loc 及其 ctype 方面。

异常安全

强保证:如果抛出异常,则没有效果。

另见