C / C ++中的asc和chr等价物
好吧,标题几乎总结了它。 我想在C ++中使用类似asc(“0”)的东西,并希望使程序平台独立,所以不要使用48! 任何帮助赞赏。
您可以简单地使用单引号使字符不变:
char c = 'a';
字符类型是数字类型,因此不需要asc
和chr
等价物。
这是一个打印出字符串字符值的小例子:
#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”。