Название: char* из QChar* Отправлено: oakhead от Декабрь 16, 2005, 09:38 Доброго времени суток!
Есть проблемка : в окошке запршиваются значения переменных host, user, database,passwrd. Все - типа QString*. Из всего этого формируется строка для вызова pgconnect(char *conninfo) QString *qconn = "host="+host, etc. Можно ли как-то из qconn получить значение типа char* ? Название: char* из QChar* Отправлено: alexis от Декабрь 16, 2005, 10:01 qconn->ascii()
Название: char* из QChar* Отправлено: Dendy от Декабрь 16, 2005, 10:40 Никаких указателей на QString! Класс шаровьlй, данньlе скрьlтьl!
Qt3 Код: char * ascii = str.ascii(); Qt4 Код: QByteArray ascii = str.toAscii(); или Код: QByteArray ascii = str.toLocal8Bit(); А вообще - читать доку чё конкретно нужно. Название: char* из QChar* Отправлено: Hellenna от Декабрь 16, 2005, 11:15 всегда делаю так:
const char* string=str.local8Bit(); Название: char* из QChar* Отправлено: Dendy от Декабрь 16, 2005, 12:27 Отвлечёмси... В Qt3 реализован плохой стиль работьl с ascii-строками. Получение ascii строки по указателю заставляет хранить её копию в QString навсегда. Согласен с разработчиками Qt4: QByteArray ascii = string.toAscii(); куда круче - екземпляр возвращается в шаровьlй класс с-строки, которьlй можна самостоятельно очистить или сохранить для своих целей не нагружая при етом QString.
P.S. Не вздумайте писать такое: Код: char * ascii = str.toAscii().data(); Название: char* из QChar* Отправлено: Вудруф от Декабрь 16, 2005, 13:40 Ну можно ещё так:
std::string stdStr = string.toStdString(); char *ptr = stdStr.c_str(); :) |