Utilisez _tstof()
au lieu de atof()
, et de lancer CString à LPCTSTR, et laissez-le comme tel, au lieu d'essayer de l'obtenir à const char *
. Oubliez const char *
(LPCSTR) pendant que vous travaillez avec unicode et utilisez seulement const _TCHAR *
(LPCTSTR). Et
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
CString s1 = _T("123.4");
CString s2 = _T("567.8");
double v1 = _tstof((LPCTSTR)s1);
double v2 = _tstof((LPCTSTR)s2);
_tprintf(_T("%.3f"), v1 + v2);
return nRetCode;
}
et en cours d'exécution cela donne correctement la réponse attendue.
Je reçois erreur comme "erreur C2065: '_wtof': identificateur non déclaré". J'utilise eVC++ 4.0 – Vaibhav
Avez-vous essayé d'inclure «», «», «», «»? D'autres à essayer: 'wcstod()' ou 'swscanf()'. –
J'ai obtenu la solution comme ci-dessous "_stscanf (strFixFactorSide, _T ("% lf "), & dFixFactorSide);" Mais est-ce correct? – Vaibhav