2012-05-03 1 views
6

Sto impostando un boost::filesystem::path da un campo di modifica. Ho notato che il costruttore è felice di accettare caratteri non validi per il nome del file.Come verificare se il percorso è valido in boost :: filesystem?

Come è possibile utilizzare boost::filesystem per verificare se l'oggetto boost::filesystem::path rappresenta un nome file valido?

+1

Definizione di "nome file valido"? – Jon

+4

Speravo che 'boost :: filesystem' rispondesse a questa domanda in modo ragionevole. –

risposta

5

Date un'occhiata qui:

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

Questo descrive varie funzioni per verificare se i nomi di file sono validi o meno.

+2

Potresti forse usare www.boost.org/doc/libs/release/libs/filesystem/v3/doc/portability_guide.htm come link, dato che indicherà la versione corrente. – Fraser

+0

@Fraser: fatto. Grazie! – Nick

+1

Questo è esattamente ciò di cui ho bisogno. Devo amare che 'windows_name()' restituisce 'true' se nella stringa è incluso un asterisco, anche se l'asterisco non è un carattere valido per il nome di un file di Windows. Sembra un bug. –