GetLogicalDriveStrings. Чё за косяк???

Модератор: Злобный

Ответить
Аватара пользователя
sadman
Завсегдатай
Сообщения: 2001
Зарегистрирован: Чт дек 15, 2005 23:46
Откуда: с ботаники
Контактная информация:

GetLogicalDriveStrings. Чё за косяк???

Сообщение sadman »

Создаю простейшую программу:

Код: Выделить всё

#include <windows.h>
#include <stdio.h>

void main()
{
  char cmd[50];
  GetLogicalDriveStrings(50, cmd);
  puts(cmd);
}
На выходе получаю:
A:
И всё!!! Хотя у меня еще есть логические диски!
Вопрос - чё за косяк??? :?
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

Возвращается не строка а строки заканчивая пустой. то есть в виде "a:\\\0c:\\\0\0"

Код: Выделить всё

void main() 
{ 
  char cmd[110]; 
  DWORD a=GetLogicalDriveStrings(110, cmd); 
  if(a){
	  for(int i=0;cmd[i];i+=4){
		  puts(cmd+i); 
	  }
  }
}
Аватара пользователя
sadman
Завсегдатай
Сообщения: 2001
Зарегистрирован: Чт дек 15, 2005 23:46
Откуда: с ботаники
Контактная информация:

Сообщение sadman »

О! Пасиба! :)

[off]добавлено спустя 1 час:[/off]

такс, ну собсна в продолжение проблемы...
после получения списка дисков, хочется получить список каталогов из одного из дисков. Есть код:

Код: Выделить всё

char cPath[MAX_PATH];
printf("\nEnter the path  ");
gets(cPath);
hFile = FindFirstFile(cPath, &lpfd);

if(hFile == INVALID_HANDLE_VALUE)
{
  printf("\"%s\" - No such directory\n", cPath);
  main();
}
.......
Самое интересное то, что каждый раз hFile == INVALID_HANDLE_VALUE! Т.е. директория, скажем, С:\ не найдена. В чём тут может быть проблема?

зы раньше вроде всё работало, теперь абсолютно не понимаю в чём проблема... :help:

[off]добавлено спустя 11 часов:[/off]

Усё, проблема была найдена! Спасибо "братьям" с cboard'а!
Кому интересно, рассказываю: для того что-бы получить поддиректроирию, скажем диска с:\, необходимо вызывать FindFirstFile таким образом:

Код: Выделить всё

FindFirstFile("c:\\*", &lpfd);
Аватара пользователя
Iulik D
Старожил
Сообщения: 1282
Зарегистрирован: Пн май 12, 2003 00:03
Откуда: Молдова

Сообщение Iulik D »

sadman,
а то ты не знал что "\" евляется escape character
Аватара пользователя
sadman
Завсегдатай
Сообщения: 2001
Зарегистрирован: Чт дек 15, 2005 23:46
Откуда: с ботаники
Контактная информация:

Сообщение sadman »

Iulik D,
всмысле? это тут причём?
Ответить

Вернуться в «Программирование»