菜鸟再问一个入门级问题:我定义了一个char变量,然后弹出对话框显示这个变量,我的代码不对吗?void CMy4Dlg::OnButton1() 
{
// TODO: Add your control notification handler code here
char vchar='a';
         AfxMessageBox(vchar);
}应该弹出一个‘a’才对啊?

解决方案 »

  1.   

    char vchar[1];
    strcpy(vchar,"a");
    AfxMessageBox(vchar);解释AfxMessageBox(msg);
    msg是字符串地址,你用'a',就表示取'a'(97)地址的内容;
    'a'Asc码为97。
      

  2.   

    int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) -1 );typedef LPCSTR LPCTSTR;
    typedef CONST CHAR *LPCSTR, *PCSTR;
      

  3.   

    int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
      

  4.   

    int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
      

  5.   

    你必须使用一个字符串才可以,因为MessageBix的参数必须是以空为止的字符串,如果定义一个Char,他没有\0,不是一个字符串,所以会出错,你可以使用一个Char数组或是用CString定义一个变量就可以了
      

  6.   

    char *vchar="a";
    AfxMessageBox(vchar);
      

  7.   

    AfxMessageBox函數原形中有三个参数,分别是窗口文本,窗口名称,和窗口的类型。前两个参数
    都是字符串型的,后一种是vc窗口的自定义类型,如用STOP标记,i标记等工三种,还有就是有响应的button,错误出现在vchar只是一个字符型