int x;
CString str;
str.Format("X = %d", x);
CString To Int
Как перевести CString в Int или в double или в char[] хотя бы!!!
#include <cstdlib>
CString str("12345");
int a = atoi(str.GetString());
Цитата:
CString::GetString() - возвращает строку символов с нулевым символом в конце.
Тогда почему не работает следующий код:
CString str("fghgfhgf");
char a[]=str.GetString(); //ошибка 'initializing' : cannot convert from 'ATL::CSimpleStringT<BaseType,t_bMFCDLL>::PCXSTR' to 'char []'
"The returned PCXSTR pointer is const and does not allow direct modification of CSimpleStringT contents".
Т.е. ф-я возвращает указатель на константные данные, поэтому и твой указатель должен указывать на конст. строку:
const char *s = str.GetString();
Или, если строку надо изменять:
#include <cstring>
char s[255] = {0};
strcpy(s, str.GetString());
Оба примера работают!!!
А как int перевести в строку!!! (CString, char, LPCTSTR);
"data conversion routines"
Я так понимаю что
_itoa(a,b,c);
a-что конвертируем
b-строка для хранения
c-система счисления
Функция возвращает указатель на b.
Удивительно почему такая реализация функции! в отличии от atoi?
Работает по тому же принципу что и sprintf. (Только sprintf для char *)
Тоесть что то типа того:
Код:
AKS Спасибо!!!