MFC CString为int

时间:2012-09-04 14:48:30

标签: windows mfc atoi

使用此代码我在atoiCString转换为int时收到错误:

    int nrCentrala; CString idCentrala;
    GetDlgItem(IDC_EDIT_IDCENTRALA)->GetWindowText(idCentrala);
    nrCentrala = atoi(&idCentrala);

其中IDC_EDIT_IDCENTRALA是编辑控件。

Error 7 error C2664: 'atoi' : cannot convert parameter 1 from 'CString *' to 'const char *'

2 个答案:

答案 0 :(得分:6)

CString为LPCTSTR提供重载运算符。另外,请使用_tstoi,以防您使用Unicode库进行编译,例如

nrCentrala = _tstoi(idCentrala);

答案 1 :(得分:2)

您将指针传递给CStringCString*类型),而不是const char*所期望的atoi()。正确的电话是nrCentrala = atoi(idCentrala.GetString());