CString в Double
double d = atof(str);
CString str = "12.4";
double d = atof(str);
По моему такой подход не прокатит т.к. в atof необходимо передать тип char или ссылку на char
CString str="12.4";
char *tmp=str.GetBuffer(str/GetLength());
double d=atof(tmp);
По моему такой подход не прокатит т.к. в atof необходимо передать тип char или ссылку на char
CString str="12.4";
char *tmp=str.GetBuffer(str/GetLength());
double d=atof(tmp);
Смотрел в Visual C. Компилятор не разделяет Твое мнение. А как известно, последнее слово за ним... :)
Но в любом случае, если нужен char * от CString, тогда используют оператор str.c_str()
Смотрел в Visual C. Компилятор не разделяет Твое мнение. А как известно, последнее слово за ним... :)
Но в любом случае, если нужен char * от CString, тогда используют оператор str.c_str()
Господа, в VS 6 для CString определён operator LPCSTR, который даёт преобразование CString к const char*, так что функции типа atof() будут работать правильно.
В VS.NET CString реализован как-то по-другому (не смотрел), но такая же функциональность там тоже есть.
Так что не стесняйтесь писать CString там, где нужен const char*. А GetBuffer() нужен тогда, когда вы хотите получить char* без const, т.е. тогда, когда вы собираетесь ковырять буфер объекта CString напрямую. Тогда надо потом вызывать ReleaseBuffer().
std::string тоже хорошая вешь, особенно, когда не используется MFC.
Господа, в VS 6 для CString определён operator LPCSTR, который даёт преобразование CString к const char*, так что функции типа atof() будут работать правильно.
В VS.NET CString реализован как-то по-другому (не смотрел), но такая же функциональность там тоже есть.
Так что не стесняйтесь писать CString там, где нужен const char*. А GetBuffer() нужен тогда, когда вы хотите получить char* без const, т.е. тогда, когда вы собираетесь ковырять буфер объекта CString напрямую. Тогда надо потом вызывать ReleaseBuffer().
std::string тоже хорошая вешь, особенно, когда не используется MFC.
Да, Вы правы, в Visual C6 используется оператор LPCTSTR для CString.