私はBoost Filesystemライブラリを使用しています。 私は "bar_quz" にパスpの茎の部分を変更したいので、パスPがC++ Boost Filesystem:パスからステムを変更するには?
/foo/bar_quz.baz
をすることができままパス
boost::filesystem::path P("/foo/bar.baz");
を持っています誰か助けて? ありがとう
私はBoost Filesystemライブラリを使用しています。 私は "bar_quz" にパスpの茎の部分を変更したいので、パスPがC++ Boost Filesystem:パスからステムを変更するには?
/foo/bar_quz.baz
をすることができままパス
boost::filesystem::path P("/foo/bar.baz");
を持っています誰か助けて? ありがとう
const std::string rndString = "quz";
boost::filesystem::path newPath = P.parent_path()/boost::filesystem::path(P.stem().string() + "_" + rndString + P.extension().string());
あまりにも - それは "/foo/bar_quz/.baz"になるでしょう – benjymous
@benjymous Thx!あなたのフィードバックに従って私の答えを編集しました –
"私が望むものを正確に知り、拡張子を追加するのではなく、拡張子を保持しながら、ファイル名に何かを追加したい"と思います。ディレクトリ全体のファイルを作成し、ファイル名に特定のものを追加することもできますので、 "Base"ファイル名も変数として想像してください。 –
"_quz"をファイル名のベース部分に追加したいのですか、それとも完全に置き換えるだけですか? – zdan