Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CString To Int

14K
05 ноября 2006 года
Роман2
19 / / 23.07.2006
Как перевести CString в Int или в double или в char[] хотя бы!!!
17K
05 ноября 2006 года
Bosheit
26 / / 28.10.2006
CString::GetString() - возвращает строку символов с нулевым символом в конце.
#include <cstdlib>
CString str("12345");
int a = atoi(str.GetString());
14K
05 ноября 2006 года
Роман2
19 / / 23.07.2006
Цитата:
CString::GetString() - возвращает строку символов с нулевым символом в конце.



Тогда почему не работает следующий код:


CString str("fghgfhgf");
char a[]=str.GetString(); //ошибка 'initializing' : cannot convert from 'ATL::CSimpleStringT<BaseType,t_bMFCDLL>::PCXSTR' to 'char []'

17K
05 ноября 2006 года
Bosheit
26 / / 28.10.2006
Из справки по GetString():
"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());
14K
05 ноября 2006 года
Роман2
19 / / 23.07.2006
Огромное спасибо!!!:)
Оба примера работают!!!
14K
06 ноября 2006 года
Роман2
19 / / 23.07.2006
А как int перевести в строку!!! (CString, char, LPCTSTR);
17K
06 ноября 2006 года
Bosheit
26 / / 28.10.2006
Читай справку по функциям _itoa, _ltoa и т.д. Или набери в справке в Index'е:
"data conversion routines"
14K
06 ноября 2006 года
Роман2
19 / / 23.07.2006
Ещё раз спасибо за помощь!.

Я так понимаю что

_itoa(a,b,c);
a-что конвертируем
b-строка для хранения
c-система счисления

Функция возвращает указатель на b.
Удивительно почему такая реализация функции! в отличии от atoi?
240
06 ноября 2006 года
aks
2.5K / / 14.07.2006
Роман2, раз уж ты поользуешся ATL-ной CString, есть там метод Format.
Работает по тому же принципу что и sprintf. (Только sprintf для char *)
Тоесть что то типа того:
 
Код:
int x;
CString str;
str.Format("X = %d", x);
14K
06 ноября 2006 года
Роман2
19 / / 23.07.2006
AKS Спасибо!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог