Russian Qt Forum
Май 06, 2024, 12:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как преобразовать переменнную класса CString в тип char  (Прочитано 9600 раз)
ROM
Гость
« : Апрель 02, 2005, 00:14 »

Нужо скопировать переменную  класса CString в переменную типа char и обратно или как хоть переменную типа char преобразоватьв типа класс CString?Непонимающий
Записан
god3
Гость
« Ответ #1 : Апрель 04, 2005, 10:42 »

CString str;

str = "123456";

str.GetBuffer(0);
Записан
Jkc
Гость
« Ответ #2 : Апрель 13, 2005, 14:35 »

bool      PBX::clearCall(const string &dn, string &cp){
   
 const char * num = new char[cp.length ( )];
  num  = cp.c_str ( );
Записан
god3
Гость
« Ответ #3 : Апрель 19, 2005, 12:39 »

А разве в этом случае ты не выделяешь память для текста, но командой num = cp.c_str ( ), просто сохраняешь указатель. Причём затираешь указатель под выделенную область памяти - утечка памяти!
Записан
PROGrand
Гость
« Ответ #4 : Июль 09, 2005, 21:19 »

Очевидно, у человека проблемы с const... Чтобы модифицировать sz нужно дублировать sz.

1.
CString str = "convert to char";
const char* sz = (LPCSTR)str; // это можно только читать.

char* sz_noconst = ::strdup((LPCSTR)str); это можно менять (вплоть до sz_noconst + ::strlen(sz_noconst) + 1).

::free(sz_noconst); // удалять придётся.

2.
const char* sz = "convert to CString";
CString str = sz;
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 20.