愚书 2023-08-11 07:43 采纳率: 0%
浏览 75

C语言中如何将long数据转换成char型数据输出?

如我定义一个数据
unsigned long a=99999999;
unsigned char b;
将a取出一位后赋值给b输出, 如
a=a%10000000/1000000;
b=(unsigned char) a;
cout<<"b="<<b<<endl;
调试后b没有数据输出, 这是为什么?
照理这个b应该要输出9的, 但是这里实际上没有输出。
所以,我要怎么样将数据a的类型转换成char型输出?

  • 写回答

3条回答 默认 最新

  • Minuw 2023-08-11 08:43
    关注

    sprintf函数

    #include <stdio.h>
    
    int main() {
        unsigned long a = 99999999;
        unsigned char b;
        a = a % 10000000 / 1000000;
        b = (unsigned char) a;
        char _str[2];
        sprintf(_str, "%d", b);
        printf("b = %s\n", _str);
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 8月11日