Как узнать путь файла с помощью имени файла?
Вот водиться имя файла в программу с помощью аргумента. Можно ли как-то узнать его путь полный путь? Реализация с помощью библиотеки Windows.h
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Собственно, а зачем <windows.h>, если можно использовать стандартную библиотеку С++?
Функция absolute() из <filesystems>.
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
std::filesystem::path p = "foo.c";
std::cout << "Current path is " << std::filesystem::current_path() << '\n';
std::cout << "Absolute path for " << p << " is " << fs::absolute(p) << '\n';
}
Но если очень хочется непереносимости — то без проблем, GetFullPathName к вашим услугам.
#include <iostream>
#include <windows.h>
int main()
{
char fullpath[300];
GetFullPathName("foo.c",300,fullpath,0);
std::cout << "Absolute path is " << fullpath << '\n';
}