- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用操纵器已有一段时间了,但并未完全理解它们的工作原理。
这段代码:
std::cout << std::hex << std::showbase;
std::cout << std::uppercase << 77 << '\n';
std::cout << std::nouppercase << 77 << '\n';
或者这个:
std::cout << std::hex;
std::cout << std::setiosflags(std::ios::showbase | std::ios::uppercase) << 77 << '\n';
std::cout << std::nouppercase << 77 << '\n';
两者都输出:
0X4D // 'X' and 'D' uppercase
0x4d // 'x' and 'd' lowercase
然而,以下代码行都不能将字符串“abcd”转换为大写。为什么?
std::cout << std::uppercase << "abcd" << '\n';
std::cout << std::setiosflags(std::ios::uppercase) << "abcd" << '\n';
另一个问题是为什么 showbase
和 uppercase
必须在 std::setiosflags( )
并且仅在该函数之外使用 std::
?
最后,为什么 std::hex
不能在 std::setiosflags()
中被接受
谢谢
最佳答案
阅读 std::uppercase
的文档.
Enables the use of uppercase characters in floating-point and hexadecimal integer output.
std::ios_base::hex
被std::setiosflags
接受在docs 中有一个示例.
这里是 std::uppercase
的例子:
#include <iostream>
int main()
{
std::cout << std::hex << std::showbase
<< "0x2a with uppercase: " << std::uppercase << 0x2a << '\n'
<< "0x2a with nouppercase: " << std::nouppercase << 0x2a << '\n'
<< "1e-10 with uppercase: " << std::uppercase << 1e-10 << '\n'
<< "1e-10 with nouppercase: " << std::nouppercase << 1e-10 << '\n';
}
这里是 std::setiosflags
的例子:
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::resetiosflags(std::ios_base::dec)
<< std::setiosflags( std::ios_base::hex
| std::ios_base::uppercase
| std::ios_base::showbase) << 42 << '\n';
}
定义:
std::hex
定义为 std::ios_base& hex( std::ios_base& str );
std::ios_base::hex
定义为 static constexpr fmtflags hex =/*...*/;
关于c++ - 为什么 std::uppercase 不适用于字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40833897/
我遇到的问题与 text-transform: uppercase 属性的希腊字符大写有关。 在希腊语中,元音可以有尖音符,包括小写和大写,例如 one 在希腊语中是 ένα。在句子的开头是Ένα。但
Text transform 属性不用于复制为大写,但是,我注意到在 Mac 上的 Chrome 版本 78.0.3904.108(官方构建)(64 位)中,文本现在复制为大写。 转换后的文本: .l
我正在开发一个抛硬币程序,希望允许用户使用 toUpperCase() 输入小写或大写的正面/反面。但由于某种原因,在我输入任一方向的头或尾后,它会跳过循环的整个过程并打印最后一条语句。我不知道为什么
我编写了一个 Web 应用程序,其中包含多种语言的翻译(其中一种是希腊语。) 当在标题上显示某个翻译时,设计规则是文本应该是大写的,这在世界上任何其他语言中都可以,但是当涉及到希腊语时,浏览器不知道该
定义宏时(例如 #define BALL)。为什么人们使用大写字母?我可以写类似 #define ball 的东西。它不是大写的,但它有效。 最佳答案 这是惯例。它使阅读和理解代码变得更加容易。这不是
我有一个任务,描述如下: - Reads printable characters (20h-7Fh) from the keyboard without echoing - Uppercase le
在我的spring boot应用程序下,我有这个restfull服务方法: @RequestMapping(value = "objects/{objectId}", method = Request
我想知道是否有一种方法可以定位所有具有以下内容的文本: text-transform: uppercase; 这里的想法是,在排版方面,如果你使用所有大写字母,你应该增加字母间距以提高易读性,并且只针
我正在尝试在 Mysql 中执行我的应用程序 SpringBoot,AWS -> Aurora -> Mysql, 当我执行时,我收到错误 -> 我可以上传所有完整的跟踪。 你可以看到表“USUARI
这是我的目标: 输入:包含混合 ASCII 字符(大写、小写、数字、空格)的字符串 输出:只有大写字符的字符串 我有这个: #include void csere(char s[]){ in
这个问题在这里已经有了答案: Displaying Arabic characters in C# console application (3 个答案) 关闭 6 年前。 我如何检测到此字符串可以
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 6 年前。 我找不到问题所在。我正在编写一个国际象棋游戏,我想显示玩家的棋步。例如
我想知道如何将特定索引打印为大写和小写? 我不知道特定索引会发生变化吗? 对于单个索引,这是代码... public class UpperAndLowerCase { public stat
我正在尝试将目录中的所有文件名更改为不同大小写组合的大小写示例:TextFile == tExTfIlE,在更改名称后,我想打开文件并使其中的所有文本与上面所示的相同但我不知道如何。我有将大小写更改为
我使用操纵器已有一段时间了,但并未完全理解它们的工作原理。 这段代码: std::cout int main() { std::cout #include int main() {
这存在吗?我需要制作一个始终为大写的 TextView。 最佳答案 试试这个: 关于android - 文本转换 :uppercase equivalent in Android?,我们在St
我正在为 SVN 使用 Eclipse 和插件 Subeclipse。 我只想将文件重命名为大写。 示例:“file_a.txt”到“FILE_A.TXT” 我的最佳实践应该是什么? 我尝试右键单击该
我正在尝试使用一些操作字符串的函数在 Lua 中创建一个库。 我想做一个函数,仅在单词的奇数字符上将字母大小写更改为大写。 这是一个例子: Input: This LIBRARY should wor
要使用 QSpinBox 输入和显示十六进制数,只需将 displayIntegerBase 设置为 16。但是,我找不到将显示设置为的属性或方法大写(例如 1A 而不是 1a)。 我知道我可以重写
我是一名优秀的程序员,十分优秀!