問題タブ [boost-filesystem]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Linuxでファイルシステムのcreatedirectoriesをブーストし、「/」を「\」に置き換えます
次の例でBoostFilesystemのcreatedirectory(およびcreatedirectories)関数を使用する場合、「/」は「\」に置き換えられます。
このコードを切り取って、「data」内に「configSet」のサブディレクトリを作成する代わりに、「data\configSet」というディレクトリを作成します。createdirectories();を使用しても同じ問題が発生します。
この問題は、コードがWindowsシステムで実行されている場合には発生しません。私は現在、Ubuntu9.10を使用してLinuxでテストしています
boost - boost::filesystem exists() はディレクトリ パスで失敗しますが、 is_directory() は問題ありません
ブーストファイルシステムで現在のディレクトリへのパスを取得し、ディレクトリが存在するかどうかを確認しています。
is_directory()
大丈夫ですがexists()
、同じパスで失敗します。何か不足していますか?
コード例 (ブースト 1.35):
編集:
楽しい部分:
しかし:
c++ - C++でファイルURLをBOOSTファイルシステムパスに変換する最良の方法は何ですか?
入力としてファイル名を持つライブラリを作成しています。私が含めようとしている機能の 1 つは、ユーザーがファイル URL またはファイル パスを渡せるようにすることです。これは、入力が XML の解析から生成される場合とそうでない場合があるためです。パスを操作するためにブースト ファイルシステムを使用していますが、ファイル URL をブースト ファイルシステム パス オブジェクトに変換する最良の方法は何かを考えています。
c++ - autoconf がブーストを適切に検出しないのはなぜですか?
autoconf-archive マクロのサポートにより、autoconf を使用してブースト ライブラリを検出しています。これらはシステム全体のブースト ライブラリで正常に動作しますが、ホーム ディレクトリでブーストを手動でコンパイルすると失敗します。
ご覧のとおり、一部のライブラリは正常に検出されますが、boost-filesystem では失敗します。~/local/lib の内容は次のとおりです。
だから図書館はある。ブースト 1.39 とブースト 1.42 の両方で試してみましたが、結果に違いはありませんでした。なぜこれが起こっているのでしょうか? 私は何かを忘れましたか?
qt - 別のファイル システム ライブラリ (boost) を使用した Qt ファイル ダイアログの実装
Qt のデフォルトのものではなく、別のファイル システムとファイル エンジン ハンドラを使用する必要があるアプリケーションを作成しています。基本的に私ができるようにしたいのは、qt のファイル ダイアログを使用することですが、そのダイアログ内のファイルおよびディレクトリ操作に関するすべての操作を処理する、私の基になるファイル システム ハンドラー (たとえば、boost ファイル システム ライブラリを使用して構築) を用意することです。いくつかの操作を処理するカスタム ファイル エンジンを既に作成しましたが、このカスタム ファイル エンジン用にシグナルを送信する必要があるため、Qt のファイル システム モデルとファイル システム ウォッチャー エンジンに行き詰まっています。大変な仕事が待っているようです。私は正しい方向に向かっていますか?
これを実装できる他の簡単な方法はありますか? 誰でも、どのように進めるかについて何か考えを教えてもらえますか? プロキシ モデルを検討することを考えていましたが、それが機能するかどうかはわかりません。
助けてくれてありがとう。
path - 作成パス (boost::filesystem を使用)
入力データを記述したファイルがあり、それは他のいくつかのファイルに分割されています。記述子ファイルでは、最初に、他のすべてのファイルが見つかった場所を示すパス Aを指定します。
発信者は、(記述子ファイルの場所への) 相対パスまたは絶対パスのいずれかを設定できます。
私のプログラムが呼び出されると、ユーザーは記述子ファイルの名前を指定します。現在の作業ディレクトリにない可能性があるため、指定されたファイル名 Bにもディレクトリが含まれる場合があります。
私のプログラムが常に適切な場所で入力ファイルを見つけるようにするには、この情報を組み合わせる必要があります。指定されたパスAが絶対パスである場合、そのパスのみが必要です。相対パスの場合は、パスB (つまり、ファイル名のディレクトリ部分)に連結する必要があります。
boost::filesystem::complete
私は私のために仕事をするかもしれないと思った。残念ながらそうではないようです。また、指定されたパスが絶対パスかどうかをテストする方法もわかりませんでした。
何か案は?
c++ - boost :: filesystem :: move_fileがないのはなぜですか?
私はブーストファイルシステムを使用して、CopyFileやMoveFileなどのWindows C ++関数を置き換え、WindowsとLinuxの間で何らかの移植性を実現しています。copy_fileを使用していますが、「move_file」関数のようにファイルを移動するものを見つけることができませんでした。Boostにはファイル移動機能がありますか?
ブーストを使用したいのですが、別の提案を歓迎します。
c++ - boost::filesystem の移植可能なジェネリック パス形式を C++ で説明する
移植可能な汎用パス形式を理解しようとしていますが、すべてがクリックされません。誰かがこれを例で説明できますか? また、Windows は両方を理解するので、Windows でスラッシュを使用できるとも言われました。また、ウィンドウでスラッシュを使用するのは良い/安全なスタイルと考えられていますか?
c++ - C++:ファイルの「作成された」タイムスタンプを変更するには?
ファイルの「作成済み」(存在する場合)、「変更済み」、および「アクセス済み」のタイムスタンプを変更する必要があります。理想的には、これはプラットフォームに依存しないソリューションになります。
ブーストライブラリを見回しましたが、関連するものは何も見当たりません。関連するものに私が見つけた最も近いものは、 Windows用です。
誰でも助けることができますか?ありがとう。
c++ - boost::filesystem::path および std::string
メンバ std::string を持つ String クラスがあります。コンストラクタの1つは
Load(String path); など、String をパラメーターとして受け取る関数があります。
しかし、boost::filesystem::path::string() はその String コンストラクターと互換性がないことが判明しましたが、通常は代入は問題ありません
何が起こっている?コンストラクターを機能させるにはどうすればよいですか? ありがとう。
編集: const ref にすることで問題は解決しましたが、直接割り当てることができるため、コピーを渡しても問題ないように見えるため、エラーの理由はまだ不思議です。ファイル xstring のエラー