1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

Проконсультируйте по Getusername()

Тема в разделе "Общие вопросы по С и С++", создана пользователем Impellitteri, 18 янв 2009.

Статус темы:
Закрыта.
  1. Impellitteri

    Impellitteri Гость

    Репутация:
    0
    Всем привет есть маленький вопрос. Вот пример:


    Код:

    Код:
    //Узнать имя текущего рользователя
    
    char buff[100];
    DWORD dw=100;
    GetUserName(buff, &dw);
    в последней строке этого кода, второй параметр мы указываем как адрес переменной dw. Мне не очень понятно почему именно адрес,
    мы что не можем размер переменной buf указать просто как константное число 100 ?
     
  2. bizybiz

    bizybiz Гость

    Репутация:
    0
    Это для того, чтобы ты знал сколько символов она записала в buff.
    не можем
     
  3. Impellitteri

    Impellitteri Гость

    Репутация:
    0
    а почему не можем?
     
  4. bizybiz

    bizybiz Гость

    Репутация:
    0
    Потому что константное число 100 не имеет физического адреса в памяти.
    Ты же не можешь написать &100 !!
     
  5. Impellitteri

    Impellitteri Гость

    Репутация:
    0
    а нам обязательно нужно объявлять
    char buff[100];

    или можно так:
    char* buff;

    Мы же все-равно указываем размер массива в GetUserName();
     
  6. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    Так вы выделите память только под указатель, но никак не под буфер з 100 элементов
     
  7. Impellitteri

    Impellitteri Гость

    Репутация:
    0
    Ясно спасибо большое
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей