C / C ++中的asc和chr等价物

好吧,标题几乎总结了它。 我想在C ++中使用类似asc(“0”)的东西,并希望使程序平台独立,所以不要使用48! 任何帮助赞赏。

您可以简单地使用单引号使字符不变:

char c = 'a'; 

字符类型数字类型,因此不需要ascchr等价物。

这是一个打印出字符串字符值的小例子:

 #include  int main(int argc, char **argv) { char str[] ="Hello, World!"; printf("string = \"%s\"\n", str); printf("chars = "); for (int i=0; str[i] != 0; i++) printf("%d ", str[i]); printf("\n"); return 0; } 

输出是:

 string = "Hello, World!" chars = 72 101 108 108 111 44 32 87 111 114 108 100 33 

在C和C ++中,如果使用''而不是""括起来的字符,则表示您已经处理了其原始二进制值。

现在,在C和C ++中, "0"是一个文字的双字节以空字符结尾的字符串: '0''\0' 。 (ascii 48 ascii 0)

您可以通过在“”以null结尾的字符串上使用var[0]或使用其中一个转换例程来实现所需的function。 (C中的atoi() ,C ++中的stringstream lib)

您将通过写入’0’获得0字符的ASCII值。
对于您需要的每个字符,同样为“char”。