Здравствуйте Морозов Дмитрий, Вы писали:
Я уже во втором форуме этот subj вижу, видимо очень надо.
МД>Переформулирую как удалить любой файл с диска C: не указывая путь к файлу.
Вот так:
где str — метка диска (например: "C:\\*" или "D:\\*"), file — имя файла (например: "1.txt").
Пример вызова: int i = FileMustDie ("C:\\*", "1.txt");
Возврат: 1 — нашли первый попавшийся файл 1.txt и убили его; 0 — не нашли ничего; -1 — не удалось удалить файл или открыть директорию.
int FileMustDie (char* str, char* file)
{
int res = 0;
int ResFind = 1;
WIN32_FIND_DATA data;
char tmp[MAX_PATH] = "";
char deltmp[MAX_PATH] = "";
memset (&data, 0, sizeof (LPWIN32_FIND_DATA));
for (HANDLE handle = FindFirstFile (str, &data); handle != INVALID_HANDLE_VALUE && ResFind; ResFind = FindNextFile (handle, &data), *tmp = 0)
if (data.cFileName[0] != '.')
{
strcat (tmp, str);
tmp [strlen (str) - 1] = 0;
strcat (tmp, data.cFileName);
if (data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
{
strcpy (deltmp, tmp);
strcat (deltmp, "\\*");
if ((res = FileMustDie (deltmp, file)))
{
FindClose (handle);
return res;
}
continue;
}
if (!strcmp (file, data.cFileName))
{
SetFileAttributes (tmp, FILE_ATTRIBUTE_NORMAL);
if (!DeleteFile (tmp))
{
FindClose (handle);
return -1;
}
return ++res;
}
}
if (handle != INVALID_HANDLE_VALUE)
FindClose (handle);
return res;
}
Извиняй, что не на MFC.
Как получить полный путь к файлу, например "1.txt" и удалить его ?
Здравствуйте Морозов Дмитрий, Вы писали:
МД>Как получить полный путь к файлу, например "1.txt" и удалить его ?
Перечитай свой вопрос... а теперь переформулируй.... иначе будешь долго ждать ответа...
Здравствуйте Toughpheeckouse, Вы писали:
T>Здравствуйте Морозов Дмитрий, Вы писали:
МД>>Как получить полный путь к файлу, например "1.txt" и удалить его ?
T>Перечитай свой вопрос... а теперь переформулируй.... иначе будешь долго ждать ответа...
Переформулирую есть файл C:\WINDOWS\Рабочий стол\"1.txt"
Нужно получить програмно путь к этому файлу и удалить его.
желательно MFS.
Заранее спасибо.
Здравствуйте Морозов Дмитрий, Вы писали:
МД>>>Как получить полный путь к файлу, например "1.txt" и удалить его ?
T>>Перечитай свой вопрос... а теперь переформулируй.... иначе будешь долго ждать ответа...
МД>Переформулирую есть файл C:\WINDOWS\Рабочий стол\"1.txt"
МД>Нужно получить програмно путь к этому файлу и удалить его.
МД>желательно MFS.
МД>Заранее спасибо.
То ли ты чего-то большого не понимаешь, то ли я не понял твой вопрос... Если тебе известно, что где-то на компе есть файл "1.txt", но неизвестно, в каком он каталоге, то единственный способ найти его — поиск. Смотри FindFirstFile & Co. Но можно случайно найти несколько файлов..
Если тебе известно, что этот файл в текущем каталоге — GetCurrentDirectory.
Есть ещё функции GetSystemDirectory, GetWindowsDirectory, SHGetFolderPath — может тебя это интересует?
Если тебе известно, что он в C:\WINDOWS\Рабочий стол\ — в чём вопрос?
Здравствуйте SergH, Вы писали:
SH>Здравствуйте Морозов Дмитрий, Вы писали:
МД>>>>Как получить полный путь к файлу, например "1.txt" и удалить его ?
T>>>Перечитай свой вопрос... а теперь переформулируй.... иначе будешь долго ждать ответа...
МД>>Переформулирую есть файл C:\WINDOWS\Рабочий стол\"1.txt"
МД>>Нужно получить програмно путь к этому файлу и удалить его.
МД>>желательно MFS.
МД>>Заранее спасибо.
SH>То ли ты чего-то большого не понимаешь, то ли я не понял твой вопрос... Если тебе известно, что где-то на компе есть файл "1.txt", но неизвестно, в каком он каталоге, то единственный способ найти его — поиск. Смотри FindFirstFile & Co. Но можно случайно найти несколько файлов..
SH>Если тебе известно, что этот файл в текущем каталоге — GetCurrentDirectory.
SH>Есть ещё функции GetSystemDirectory, GetWindowsDirectory, SHGetFolderPath — может тебя это интересует?
SH>Если тебе известно, что он в C:\WINDOWS\Рабочий стол\ — в чём вопрос?
Переформулирую как удалить любой файл с диска C: не указывая путь к файлу.