显式地将整数转换为char

converting integer into char explictly

本文关键字:转换 char 整数      更新时间:2023-10-16

我正在尝试将整数转换为字符。我知道如何将字符转换为整数,比如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");