Chciałbym znaleźć najszybszy sposób sprawdzenia, czy plik istnieje w standardowym C ++ 11, C ++ lub C. Mam tysiące plików i zanim coś z nimi zrobię, muszę sprawdzić, czy wszystkie istnieją. Co mogę napisać zamiast /* SOMETHING */
w poniższej funkcji?
inline bool exist(const std::string& name)
{
/* SOMETHING */
}
git push
Prawdopodobnie nie zadaje sobie trudu, aby upewnić się, że nie dotykasz działającego drzewa po początkowym brudnym sprawdzeniu.
boost::filesystem
wydaje się używaćstat()
. (Zakładając, że z dokumentacji.) Nie sądzę, że możesz zrobić znacznie szybciej dla wywołań FS. Szybkim sposobem na zrobienie tego jest „unikanie patrzenia na tysiące plików”.