При использовании boost_filesystem Boost продолжает добавлять кавычки к именам файлов.boost :: файловая система добавляет кавычки?
foo.cpp:
#include <iostream>
#include <boost/filesystem.hpp>
int main(int argc, char * argv[])
{
std::cout << argv[0] << std::endl;
boost::filesystem::path p(argv[0]);
std::cout << p << std::endl;
std::cout << p.filename() << std::endl;
return 0;
}
Составитель:
g++ foo.cpp -o foo -lboost_filesystem -lboost_system
Выход:
./foo
"./foo"
"foo"
Это несколько неожиданно, и неудобный в моем случае. Действительно ли это намеренно, или это несколько более старая версия Boost (1.46.1) багги в этом отношении? Есть ли способ избежать их добавления?
Я просмотрел документацию, но помимо уроков не, показывая эти кавычки в их примере вывода, я не был просветленным.
Ну, если я боюсь, вложенных пространств Я хорошо КАВЫЧКИ себя. При необходимости * удалить * их, прежде чем я смогу использовать имя файла в выходном файле журнала, это неприятность, хотя - и 'replace_all()' на самом деле не помогает, потому что, как бы то ни было, мозг мертв, может быть встроенная отметка кавычки * в имени файла. ;-) – DevSolar
Хорошо, но вы можете сделать то, что предлагает отчет об ошибке: std :: cout << p.filename(). String() << std :: endl; –
Готово, проверено и зачислено, прежде чем я даже поддержал/ответил здесь. ;-) – DevSolar