crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> трабл с GetComputerName
FenixTES
  опции профиля:
сообщение 17.11.2009, 19:57
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 20
Регистрация: 14.11.2009
Пользователь №: 1230

Спасибо сказали: 0 раз(а)




Репутация:   0  


QString MyClass::getComputerName(){
    unsigned  long Size = 30;
    char *Buffer = new  char[Size];
    GetComputerName((LPWSTR)Buffer, &Size);
    QString qstrCompName;
    qstrCompName = Buffer;
    return qstrCompName;
}

почему то возвращает только первую букву имя компьютера.
может я чтото нитак сделал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.11.2009, 20:02
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Я думаю, что проблема в присваивании:
QString = char *

попробуй использовать статическую функцию:
QString QString::fromAscii ( const char * str, int size = -1 )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Elfinit
  опции профиля:
сообщение 17.11.2009, 20:13
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


а не "выгоднее" использовать getenv("USERDOMAIN"); (это в винде)
на других осях наверняка есть другие переменные окружения, поэтому можно написать крассплатформенную функцию
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 3.8.2020, 14:54