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

Convert single char into byte C++

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

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)
{}

这是正确的转换方式吗?

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

> Program.exe param1 param2

argv 将包括:

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

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

注意,即使传的是单个字符的参数,传入的还是字符串,必须访问具体的索引。您评论说您正在传递一个数字,所以我建议使用 atoi 函数,而不是使用 abs 来转换它。