Char掩码,或者在vala中获取char大小?

时间:2015-11-24 16:54:13

标签: vala

我需要char大小的所有位为1,而我知道在C中有limits.h,而vala有int.MAX,我不确定char大小。

我怎么能找到它?一个字符大小 - 并确定生成我的位掩码,而不是使用0xFFFF?

2 个答案:

答案 0 :(得分:3)

apmasell是对的,但我不太喜欢他的答案。如果你想要char的大小(以字节为单位),你应该使用sizeof(char)而不是依赖glib vapi中的那个值保持不变。

char.MAX,如果它存在,则不会是0xff(255),它将是0x7f(127),但这不是掩码的正确值,因为。从实际角度来看,假设0xff是正确的值可能是安全的,但如果你想要安全,你可以使用~((char) 0)

答案 1 :(得分:2)

在Vala中,char是一个字节。这是VAPI声明:

[IntegerType (rank = 2, min = 0, max = 127)]
public struct char {