Главная » 2011 » Август » 25 » Windows Api и Qt - возня с символьными типами
15:54
Windows Api и Qt - возня с символьными типами
Пример может касаться типов char, WCHAR, wchar_t, LPTSTR и прочей подобной нечисти. В результате каким-то чудесным образом из них надо получить QString. Понадобилось для функции GetComputerName. Вот получившийся у меня рабочий пример:
//смотрим имя компьютера WCHAR hostname[254]; unsigned long name_length = sizeof(hostname); GetComputerName(hostname, &name_length); QChar* c = (QChar*)&hostname; this->setWindowTitle(QString(c)); А это исправленный код от одного доброго дракона, спасибо ему WCHAR hostname[MAX_COMPUTERNAME_LENGTH + 1]; unsigned long name_length = _countof(hostname); GetComputerName(hostname, &name_length); QChar* c = (QChar*)&hostname;
Несовсем корректно, в GetComputerName передается не размер буфера, а кол-во символов. Так корректней я думаю: WCHAR hostname[MAX_COMPUTERNAME_LENGTH + 1]; unsigned long name_length = _countof(hostname); GetComputerName(hostname, &name_length); QChar* c = (QChar*)&hostname;
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]