gpt4 book ai didi

c++ - 将字符打印为整数

转载 作者:bug小助手 更新时间:2023-10-28 10:51:10 30 4
gpt4 key购买 nike

我想控制我的ostream char的输出和 unsigned char来自 <<将它们写为字符整数。我在标准库中找不到这样的选项。现在我已经恢复到在一组替代打印函数上使用多个重载

ostream& show(ostream& os, char s) { return os << static_cast<int>(s); }
ostream& show(ostream& os, unsigned char s) { return os << static_cast<int>(s); }

有没有更好的办法?

最佳答案

不,没有更好的方法。更好的方法是采用自定义流操纵器的形式,例如 std::hex .然后,您可以关闭和打开整数打印,而无需为每个数字指定它。但是自定义操纵器对流本身进行操作,并且没有任何 format flags做你想做的事。我想你可以编写自己的流,但这比你现在做的工作要多。

老实说,最好的办法是看看你的文本编辑器是否有制作 static_cast<int> 的功能。更容易打字。我假设你会输入很多,否则你不会问。这样,阅读您的代码的人就可以确切地知道您的意思(即,将 char 打印为整数),而无需查找自定义函数的定义。

关于c++ - 将字符打印为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950390/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com