error C2664: 'strtol' : cannot convert parameter 1 from 'CString' to 'const char *'
阿新 • • 發佈:2018-12-20
text=strtol(m_recieve,NULL,16); 其中text為long型,m_recieve為CString型。 編譯錯誤: error C2664: ‘strtol’ : cannot convert parameter 1 from ‘CString’ to ‘const char *’
解決辦法: 改成text=wcstol(m_recieve,NULL,16);
功能:轉換字串為長整形數字 標頭檔案:<stdlib.h>
long strtol( const char *nptr, char **endptr, int base ); long wcstol( const wchar_t *nptr, wchar_t **endptr, int base ); long _strtol_l( const char *nptr, char **endptr, int base, _locale_t locale ); long _wcstol_l( const wchar_t *nptr, wchar_t **endptr, int base, _locale_t locale ); 引數: 1、nptr,需要轉換的以’\0’作為終止符的字串指標 2、endptr,如果有,則轉換到該指標位置就停止 3、base,轉換中如果遇到大於或等於base的字元就停止,一般設定為10 注意: 1、如果超出long上線,返回LONG_MAX或LONG_MIN 2、如果無法解析,返回0
我是在vc++轉vs2010出現的這個問題,這個error應該和編譯器預設編碼不同有關