将单个字符转换为字节C ++

时间:2015-01-26 23:26:56

标签: c++ casting char byte

如何将单个字符转换为字节?

typedef unsigned char byte;
int main(int argc, char *argv[])
{
    /* The input argv[1] is a number */
    function(byte(argv[1]));
}
function A(Byte b)
{}

这是正确的转换方式吗?

1 个答案:

答案 0 :(得分:3)

你误解了argv是什么。这是一个字符数组或字符串数​​组的数组。所以,如果你要跑:

  

> Program.exe param1 param2

argv将包括:

argv[0]: Drive:\FullPath\Program.exe
argv[1]: param1
argv[2]: param2

如果你想要一个特定的角色,那么你需要像argv[1][0]这样的东西,它会给你p

请注意,即使您传递单个字符的参数,它仍然以字符串形式出现,您必须访问特定索引。你评论说你传了一个数字,所以我建议使用atoi函数,而不是使用abs来投射它。