我用char a;
a=2;
不行!

解决方案 »

  1.   

    #include <iostream>
    using namespace std;void main()
    {
    char a;
    int b;

    a = static_cast<char>(2);
    b = static_cast<int>(a);
    cout<<a<<endl;
    cout<<b<<endl;

    }
    这个程序对你有用
      

  2.   

    char str[256];for(char i = 0;i < 256;i++)
    str[i] = i;
      

  3.   

    你的赋值方法没问题,只不过在不同的环境下显示出来的内容不一定相同,比如在Console下你用cout<<a<<endl;或printf("%c",a);类似这样的方法出来的就是一个笑脸符号;但用AfxMessageBox(a);这种方法在窗口下显示出来的就象乱码一样的东西了。
      

  4.   

    我用char a;
    a=2;
    不行!用 a = 0x02就可以了
      

  5.   

    用a = 0x02是一定可以的,这是C/C++的字符赋值法之一.对特殊字符赋值最有用了,例如回车键,换行符,退格键等,当然上述这些键还有更直接的方法,如'\r','\n','\b'等.
      

  6.   

    a=(char)2; 可以吗?你用的是什么版本的VC,我这里的VC6试你的啊a=2行啊。
      

  7.   

    char a=0x02;  可能会出问题,我曾经也遇到过这样的怪事这样做,肯定没问题         char a[]={0x02,0x00};
    CString str;
    str.Format("%x",a[0]);
    AfxMessageBox(str);