[英]converting integer into char explictly
我正在尝试将整数转换为字符。 我知道如何将字符转换为整数,例如int(a)
,其中a
是字符。 但是,当我尝试将整数转换为字符时,它给了我一个符号值。 请帮帮我。
我正在做下面的事情。 提前致谢。
int a=0;
char str1[20];
for(int i=0;i<size;i++)
//somecalculation that sets value in a everytime and stores in str1
str1[i]=char(a)-'A'
好吧,我正在运行循环并在str1
设置值。 这只是我的少量代码。
您可以使用str1[i] = static_cast<char>(a + '0');
。 这会将a = 0转换为'0',将a = 1转换为'1',依此类推。将行为视为未定义的行为,超出范围0,...,9。
只需使用sprintf:
for(int i=0;i<size;i++)
//somecalculation that sets value in a everytime and stores in str1
sprintf(str1 + i, "%i", a);
由于您注意到a每次仅是一个数字整数,因此应该可以使用,但这不是很容易出错...通常,您应该检查写入了多少数字:
for(int i=0;i<size;i++)
//somecalculation that sets value in a everytime and stores in str1
if (sprintf(str1 + i, "%i", a) != 1)
printf("expected to print only one character!\n");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.