2012-05-03 14 views
6

Ustawiam boost::filesystem::path z pola edycji. Zauważam, że konstruktor z przyjemnością przyjmuje nieprawidłowe znaki do nazwy pliku.Jak sprawdzić, czy ścieżka jest poprawna w systemie boost :: filesystem?

Jak mogę użyć boost::filesystem, aby sprawdzić, czy obiekt boost::filesystem::path reprezentuje poprawną nazwę pliku?

+1

Definicja "prawidłowej nazwy pliku"? – Jon

+4

Miałem nadzieję, że 'boost :: filesystem' odpowie na to pytanie w rozsądny domyślny sposób. –

Odpowiedz

5

Sprawdźcie tutaj:

http://www.boost.org/doc/libs/release/libs/filesystem/doc/portability_guide.htm

ta opisuje różne funkcje do sprawdzania, czy nazwy plików są prawidłowe, czy nie.

+2

Jako link możesz użyć www.boost.org/doc/libs/release/libs/filesystem/v3/doc/portability_guide.htm, ponieważ wskaże to bieżące wydanie. – Fraser

+0

@Fraser: Gotowe. Dzięki! – Nick

+1

To jest dokładnie to, czego potrzebuję. Uwielbiam to, że 'windows_name()' zwraca 'true', jeśli znak gwiazdki jest zawarty w łańcuchu, nawet jeśli gwiazdka nie jest poprawnym znakiem dla nazwy pliku Windows. To wydaje się być błędem. –

Powiązane problemy