1. ホーム
  2. c++

[解決済み] boostのパス型を文字列に変換する方法

2022-05-17 13:27:29

質問

こんにちは。私は現在、ファイルの場所のフルパスを取得し、boost::filesystem2::pathの型の変数に格納するプログラムを持っています。

私はこれを行う方法を調べました、そして、それを使用することを発見しました。

string result1 = boost::filesystem::basename (myPath)

はパスを文字列に変換しますが、ファイル名しか変換しません(例えばパスが "C:\namebobsAwesomeWordDoc.docx" ならば "bobsAwesomeWordDoc" を返すだけです)。

パス全体を文字列に変換する方法について、以下を見つけました。 しかし、私のプログラムでそれを実装する方法がわかりません。複数の方法を試しましたが、変換エラーが発生します。

const std::string& string( ): このルーチンは、パスが初期化された文字列のコピーを、パスの文法規則に従ってフォーマットして返します。

(見つかった はこちら )

試してみました。

string result1 = string& (myPath);

といった具合に、いくつかのバリエーションがあります。

どのように解決するのですか?

あなたはただ myPath.string() .