如何将单个字符转换为字节?
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)
{}
这是正确的转换方式吗?
答案 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
来投射它。