十进制字符串转char
有没有办法将数字字符串转换为包含该值的 char
?例如,字符串“128”应转换为保存值 128
的 char
。
Is there a way to convert numeric string to a char
containing that value? For example, the string "128" should convert to a char
holding the value 128
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的...来自 C 的 atoi。
更面向 C++ 的方法是...
Yes... atoi from C.
A more C++ oriented approach would be...
有 C 风格的
atoi
,但它转换为int
。您必须自己转换为char
。对于 C++ 风格的解决方案(这也更安全),你可以这样做
There's the C-style
atoi
, but it converts to anint
. You 'll have to cast tochar
yourself.For a C++ style solution (which is also safer) you can do
这取决于。如果
char
有符号且为 8 位,则无法将“128”转换为以 10 为基数的char
。有符号 8 位值的最大正值为 127。这是一个非常迂腐的答案,但你可能在某个时候应该知道这一点。
It depends. If
char
is signed and 8 bits, you cannot convert "128" to achar
in base 10. The maximum positive value of a signed 8-bit value is 127.This is a really pedantic answer, but you should probably know this at some point.
您可以使用
atoi
。这将得到整数 128。您只需将其转换为char
即可。You can use
atoi
. That will get you the integer 128. You can just cast that to achar
and you're done.