首页 / 知识
关于字符串:在C ++中将布尔转换为文本
2023-04-13 07:36:00

Converting bool to text in C++也许这是一个愚蠢的问题,但是有什么方法可以将布尔值转换为字符串,以使1变为" true"而0变为" false"? 我可以只使用if语句,但是很高兴知道是否可以使用语言或标准库来执行此操作。 另外,我是一个学徒。 :) 如何使用C ++语言本身?
更新:
如果您需要四行以上的代码而没有任何控制台输出,请转到cppreference.com的页面,该页面讨论
另外,使用 我们在谈论C ++,对吗?我们到底为什么还在使用宏! C ++内联函数为您提供与宏相同的速度,并具有类型安全性和参数评估的额外好处(避免了Rodney和dwj提到的问题)。
除此之外,我还有其他一些困扰,尤其是对于公认的答案:)
干杯:) @DrPizza:包括整个boost库是为了实现一个简单的功能?你一定是在开玩笑?
C ++具有适当的字符串,因此您不妨使用它们。它们在标准标题字符串中。 #include
C ++也能够将布尔转换为人类可读的表示形式。之前我们在iostream示例中看到了提示,但由于它只能将文本直接发送到控制台(或使用fstreams,文件),因此它们受到了一定的限制。幸运的是,C ++的设计者并不是白痴。我们还提供了不由控制台或文件支持的iostream,而是由自动管理的字符串缓冲区支持的iostream。它们称为字符串流。 #include
当然,我们实际上并不想输入所有内容。幸运的是,C ++还有一个方便的第三方库Boost,可以在这里帮助我们。 Boost有一个很好的函数,叫做lexical_cast。我们可以这样使用它:
现在,可以说这比某些宏要高。 stringstreams处理您可能不关心的语言环境,并创建一个动态字符串(带有内存分配),而宏可以产生一个文字字符串,从而避免了这种情况。但另一方面,stringstream方法可用于可打印表示形式和内部表示形式之间的大量转换。您可以将它们向后运行;例如,boost :: lexical_cast 并且如果所有这些之后,您的性能分析和基准测试表明lexical_casts是不可接受的瓶颈,那么您就应该考虑进行一些宏观恐怖了。 这应该很好:
但是,如果您想做更多C ++式的操作:
如果您决定使用宏(或在将来的项目中使用C),则应在宏扩展中的" b"周围添加括号(我还没有足够的要点来编辑其他人的内容):
这是一种防御性编程技术,可防止出现隐藏的操作顺序错误。即,这如何评估所有编译器?
相比
我在printf中使用三元是这样的:
如果您将其宏化:
那么您需要确保以 使用C ++ 11时,您可以使用lambda来获得稍微紧凑的代码并就地使用:
印刷品:
无需将ostream拖入其中:
使用
C ++参考
这篇文章很老,但是现在您可以使用 http://en.cppreference.com/w/cpp/string/basic_string/to_string
只要可以将字符串直接视为char数组,就很难说服 此外,将分配和边界结合起来对我来说似乎不是一个好主意。 我同意宏可能是最合适的。我只是整理了一个测试用例(相信我,我对C / C ++不好,但这听起来很有趣):
试试这个宏。只要要显示" true"或false的任何地方,就用PRINTBOOL(var)替换它,其中var是您想要文本使用的布尔值。
|
最新内容
相关内容
文本处理用c还是用python
文本处理用c还是用python,位置,培训,包装,对比,字符串,函数,文本,语言,字符,效率,文本处理python与c的对比:如下c++语言:C++语言实现C++中没有python支持r语言吗?
python支持r语言吗?,代码,名称,培训,官网,第一,语言,对象,字符串,方法,后缀,python中可以支持r语言。python提供了一个模块rpy2,可以较好地完python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录python列表有哪些常用方法?
python列表有哪些常用方法?,位置,方法,培训,列表,语法,元素,示例,对象,以上,参数,列表是最常用的Python数据类型,它可以作为一个方括号内的逗python字符串如何判空?
python字符串如何判空?,密码,培训,字符串,空格,字符,方法,两边,长度,用户名,全部,python判断字符串是否为空的方法:1、使用字符串长度判断len(python是一种编程语言吗?
python是一种编程语言吗?,放宽,适当,平台,培训,语言,指令,计算机,机器,程序,解释性,python是一种编程语言,Python是一种跨平台的计算机程序设计python中如何数出字符串的字符个数
python中如何数出字符串的字符个数,培训,字符,字符串,个数,次数,方法,示例,字典,语法,以前,python中统计字符串中祝福个数的方法:1、使用len()python如何检测字符串是不是全为字
python如何检测字符串是不是全为字母?,检测,培训,字符串,字母,方法,字符,示例,语法,以上,更多,python中可以使用isalpha()方法检测字符串是不Python文件如何转换为字符串
Python文件如何转换为字符串,数据,主体,名字,培训,文件,字符串,末尾,方法,对象,语句,python文件如何转换为字符串的方法:一、最方便的方法是一Python中区分字符与字符串吗?
Python中区分字符与字符串吗?,数据,培训,数字,字符串,数据类型,字符,类型,语言,有所不同,布尔,python中不区分字符与字符串,与C语言相比,PythonPython如何创建对象,有哪些方法
Python如何创建对象,有哪些方法,培训,对象,方法,内容,函数,属性,所在,以上,以下,功能,以下介绍Python创建对象的9种方法。classPoint:def__iniPython语言中mod表示什么意思
Python语言中mod表示什么意思,环境,培训,表示,语言,结果,负数,语法,符号,两者,规律,python语言中mod表示取模运算符。语法MOD(a,b)通常情况下