函数
<ios> <iostream>

std::nouppercase

ios_base& nouppercase (ios_base& str);
不生成大写字母
清除 str 流的 uppercase 格式标志。

当未设置 uppercase 格式标志时,流为某些表示(例如某些十六进制表示和数字基数前缀)自动生成的字母不会强制使用大写字母显示(通常改用小写字母)。

可以使用 uppercase 操纵符设置此标志,强制使用大写字母显示生成的字母。

对于标准流,uppercase 标志在初始化时是未设置的。

参数

str
格式标志受影响的流对象。
因为此函数是一个操纵符,它被设计为在不带参数的情况下,与流上的插入 (<<) 和提取 (>>) 操作结合使用(见下例)。

返回值

参数 str

示例

1
2
3
4
5
6
7
8
9
// modify uppercase flag
#include <iostream>     // std::cout, std::showbase, std::hex
                        // std::uppercase, std::nouppercase
int main () {
  std::cout << std::showbase << std::hex;
  std::cout << std::uppercase << 77 << '\n';
  std::cout << std::nouppercase << 77 << '\n';
  return 0;
}

可能的输出
0X4D
0x4d


数据竞争

修改 str。对同一个流对象的并发访问可能导致数据竞争。

异常安全

基本保证:如果抛出异常,str 处于有效状态。

另见