c++ - Getting an unexpected error in my MFC application -


i trying access elements of cstring character character.
i'm getting error in following lines of code:

void ctotaltimecalcdlg::onbnclickedok() {      // todo: add control notification handler code here     cstring lstring;     m_timeget.getwindowtext(lstring);     messagebox(lstring[0]);     cdialogex::onok(); } 

error:

"error 1 error c2664: 'int cwnd::messageboxw(lpctstr,lpctstr,uint)' : cannot convert argument 1 'wchar_t' 'lpctstr'" @ line "messagebox(lstring[0]);"

if want print first character in messagebox, don't expect convert lpctstr -> lpcwstr (unicode) -> const wchar* wchar_t.

print whole cstring, or print first character.

void ctotaltimecalcdlg::onbnclickedok() {      // todo: add control notification handler code here     cstring lstring;     m_timeget.getwindowtext(lstring);     if (!lstring.isempty())         messagebox(lstring.left(1));     cdialogex::onok(); } 

messagebox accepts lpctstr parameter.
lpctstr resolved const wchar_t* in unicode settings.
cstring::operator[ ] returns tchar wchar_t in unicode.
cstring::operator lpctstr() see below in code

//you doing this: messagebox(wchar_t); //it wants this: messagebox(wchar_t*); //cstring::left return new cstring messagebox(cstring::left . cstring::operator lpctstr()); 

Comments

Popular posts from this blog

dns - How To Use Custom Nameserver On Free Cloudflare? -

python - Pygame screen.blit not working -

c# - Web API response xml language -