繁体   English   中英

将整数显式转换为char

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM