Хай чуваки. Ктонить может выложить исходник как вывести все рабочие группы в локальной сети? Мля я искал в МСДН вобще не то протсо я не понимаю эту технологию этих функций WNetOpenEnum WNetEnumResource. Плизз помогите.
Здравствуйте, Buggy! нет ничего проще. Если тебе нужно вывести толъко рабочие группы (Domain, workgroup), то делаешъ следующее BOOL EnumDomains(LPNETRESOURCE pNet) { HANDLE hEnum = NULL; DWORD dwError = WNetOpenEnum(RESOURCE_GLOBALNET); if( dwError != NO_ERROR ) return FALSE; do{ int count = 1, dwSize = 5; NETRESOURCE* pBuffer = new NETRESOURCE[size]; size*= sizeof(NETRESOURCE); dwError = WNetEnumResource(hEnum, &count, buffer, &size); if( dwError != NO_ERROR && dwError != ERROR_NO_MORE_ITEMS) return FALSE; for( int i == 0; i < count; i++ ) { if( buffer[i].dwDisplayType == RESOURCEDISPLAYTYPE_DOMAIN) // это domain или описателъ сети { // добавъ сюда свой код } EnuumDomains(Buffer[i]); } }while( dwError != ERROR_NO_MORE_ITEMS ) } Ответ отправлен: 29.01.2003, 10:34 Отправитель: Ramzes
Вопрос № 553
Приветствую вас, эксперты. Недавно начал изучать С, поэтому есть вопрос: Я выделил память для 10 байтов функцией malloc. Получил указатель на первый байт. Как можно инициировать эти десять байтов, например нулями.
Доброе время суток, Rustem! А очень просто. Для этого есть другая функция для выделения памяти: void *calloc( size_t num, size_t size ). Вот она-то и выделяет память и заполняет ее нулями, т.е. инициализирует нулями. Ответ отправлен: 30.01.2003, 00:31 Отправитель: Jadd Отвечает lunao
Здравствуйте, Rustem! для этого существует функция memset(void *buffer,int c,int count) buffer - область памяти c - чем заполняем (напр. нулями) count - сколько байт (10) ЗЫ - пользуйся элементарным хелпом по стандартным функциям языка С Ответ отправлен: 29.01.2003, 21:42 Отправитель: lunao Отвечает Dzik
Доброе время суток, Rustem! Можно работать как с массивом: char *D=malloc(10); D[0]=0; D[1]=1; D[9]=123;
Ответ отправлен: 29.01.2003, 20:25 Отправитель: Dzik Отвечает vitya
Добрый день, Rustem! memset(pArr/*что*/, 0 /*чем*/, 10 /*сколько*/); Ответ отправлен: 30.01.2003, 08:52 Отправитель: vitya Отвечает Ramzes
Приветствую Вас, Rustem! Можно использовать, например, функцию memset из memory.h, т.е. void main() { void* p = malloc( 10 ); memset( p, 0, 10 ); // заполняем нулями 10 байт free( p ); } C уважением, Avl2k. Ответ отправлен: 30.01.2003, 10:21 Отправитель: Avl2k Отвечает Yuri Gordienko
Здравствуйте, Rustem! можно выделять через calloc, - в ней присутствует символ-заполнитель.
Ответ отправлен: 30.01.2003, 10:52 Отправитель: Yuri Gordienko Отвечает PL
Добрый день, Rustem! Смотри вот енти функции ----- memset ZeroMemory memcpy ----- Ответ отправлен: 30.01.2003, 11:33 Отправитель: PL
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.