Così ho indovinato ho perso la barca su questo, ma ho avuto un problema simile, anche dopo aver scoperto il codice che teoricamente dovrebbe funzionare. Il problema è che il tipo di dati boost :: filesystem :: path prende l'ultimo carattere di una stringa.
Stavo leggendo da un file e il mio percorso era "c: \ one \ two \ three". Ma quando ho fatto un tipo di dati di percorso, la stringa è stata cambiata in "c: \ one \ two \ thre". Non ho idea di cosa sia, ma a causa di ciò non è stata trovata la posizione del file e blah blah blah. Quello che ho fatto per risolvere il problema è stato semplicemente aggiungere un '\' alla fine. In questo modo rimuove la '\' invece della 'e'.
ha funzionato bene dopo quello. Ma come detto prima, non ho idea del perché lo abbia fatto. Spero che questo aiuti qualcuno.
fonte
2017-07-06 22:42:52
Qualche suggerimento su come posso correggere il codice (utilizzando ancora BOOST_FOREACH)? – user763305
È necessario passare qualcosa che FOREACH può iterare come una serie di file, ad esempio. Altrimenti non utilizzare FOREACH. – clyfe