Какую строчку с путем нужно передать функции FindFirstFile, чтобы поиск файла осуществлялся в текущем каталоге, т.е. каталоге, откуда происходит запуск программы, просто "*" не катит
Здравствуйте, Аноним, Вы писали:
А>Какую строчку с путем нужно передать функции FindFirstFile, чтобы поиск файла осуществлялся в текущем каталоге, т.е. каталоге, откуда происходит запуск программы, просто "*" не катит
Наверное текущий каталог надо туда передавать, вот пример из MSDN
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
printf ("Target file is %s.\n", argv[1]);
hFind = FindFirstFile(argv[1], &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf ("Invalid File Handle. GetLastError reports %d\n", GetLastError ());
return (0);
}
else
{
printf ("The first file found is %s\n", FindFileData.cFileName);
FindClose(hFind);
return (1);
}
}
Здравствуйте, Аноним, Вы писали:
А>Какую строчку с путем нужно передать функции FindFirstFile, чтобы поиск файла осуществлялся в текущем каталоге, т.е. каталоге, откуда происходит запуск программы, просто "*" не катит
Выбирай на свой вкус:
1) findPath = "*.*";
2) findPath = ".\\*.*";
3)
Здравствуйте, Mr. None, Вы писали:
MN>Здравствуйте, Аноним, Вы писали:
А>>Какую строчку с путем нужно передать функции FindFirstFile, чтобы поиск файла осуществлялся в текущем каталоге, т.е. каталоге, откуда происходит запуск программы, просто "*" не катит
В последнем ошибся, вот так надо: MN>Выбирай на свой вкус:
MN>4) MN>
"Mr. None" wrote: > > Здравствуйте, Аноним, Вы писали: > > А>Какую строчку с путем нужно передать функции FindFirstFile, чтобы поиск файла осуществлялся в текущем каталоге, т.е. каталоге, откуда происходит запуск программы, просто "*" не катит
Текущий каталог и каталог, откуда происходит запуск программы — не одно
и то же.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Текущий каталог и каталог, откуда происходит запуск программы — не одно PD>и то же.
Совершенно с Вами согласен, хотя это достаточно детское заблуждение и распространено...
Ну, а касательно того, как получить каталог, из которого был произведен запуск программы, то можно просто взять и разобрать коммандную строку(думаю, что для программиста это не должно быть проблемой ). Получить коммандную строку можно, используя ::GetCommandLine().
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Привет!
PD>"Mr. None" wrote: >> >> Здравствуйте, Аноним, Вы писали: >> >> А>Какую строчку с путем нужно передать функции FindFirstFile, чтобы поиск файла осуществлялся в текущем каталоге, т.е. каталоге, откуда происходит запуск программы, просто "*" не катит
PD>Текущий каталог и каталог, откуда происходит запуск программы — не одно PD>и то же.
Я в курсе, поэтому и предложил оба варианта, чтобы человек сам выбрал.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.