Знатоки C/C++ - фигейте вместе со мной!
Sep. 30th, 2003 02:25 pmУ меня проект "достался по наследству". В нём дофигищща исходников.
Я 2 дня искал один баг пока не наткнулся на эту потрясающую функцию (что используется примерно раз в секунду или чаще)
double DB_ADOGeneral::FloatToDouble(float floatNum, int precision)
// DESCRIPTION: Converts namber of tupe float to double tupe,
// The precision value specifies the number of digits
// after the decimal point.
/////////////////////////////////////////////////////////////////
{
TCHAR* tc[40];
CString cs;
LPTSTR endptr;
double db = 0;
cs.Format(_T("%.*f"),precision,floatNum);
tc = new TCHAR[cs.GetLength()-1];
memset(tc,'\0',sizeof(tc));
lstrcpy(tc,cs);
db = _tcstod(tc,&endptr);
return db;
}
Я 2 дня искал один баг пока не наткнулся на эту потрясающую функцию (что используется примерно раз в секунду или чаще)
double DB_ADOGeneral::FloatToDouble(float floatNum, int precision)
// DESCRIPTION: Converts namber of tupe float to double tupe,
// The precision value specifies the number of digits
// after the decimal point.
/////////////////////////////////////////////////////////////////
{
TCHAR* tc[40];
CString cs;
LPTSTR endptr;
double db = 0;
cs.Format(_T("%.*f"),precision,floatNum);
tc = new TCHAR[cs.GetLength()-1];
memset(tc,'\0',sizeof(tc));
lstrcpy(tc,cs);
db = _tcstod(tc,&endptr);
return db;
}
пора вставлять пункты про философоф
Date: 2003-10-31 09:52 am (UTC)А так все ошибки распостранённые и даже не как ошибки. Такое часто бывает, когда писатели сменяются. Например char*[] могло быть зарезервировано для кеша или многозадачности, таблицы вообще. А таблицы трогать опасно.
Re: пора вставлять пункты про философоф
Date: 2003-10-31 09:57 am (UTC)Там ни таблиц ни кэша :-)
Там просто "программер" после 3х месячных курсов, которому дали очень ответственную работу и не проверяли его!