gpt4 book ai didi

ruby 中的 char 转换在 C 中是不同的吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:57 25 4
gpt4 key购买 nike

我尝试在 ruby​​ 和 C 中将小数转换为 char,结果如下:

In Ruby: 129.chr is equals to "\x81"
: 106.chr is equals to "j"

In C : (char)(129) is equals to "\201"
: (char)(106) is equals to "j"

为什么在 C 中转换 129 时结果是将 129 转换为其 oct 值? ruby 有没有办法表现得像那样?

最佳答案

更正:在C中,字符常量是'j',而不是"j"(字符串字面量)

在C语言中,字符常量都是int类型,106(十进制整数)、\152(字符常量)没有区别八进制)和 'j'(字符常量)。

在 Ruby 中,要获取八进制字符串,请使用 Fixnum#to_s :

129.to_s(8)
# => "201"

关于ruby 中的 char 转换在 C 中是不同的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28404460/

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