問題タブ [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++ - ファイルを開かない正確な理由を特定する
問題は、std::fstream
デフォルトでは例外をスローせず、検査可能なビットを設定することです。どうやら、ここで説明されているように、例外関数を使用して例外をスローすることができます(私は思う)-例えばc++リファレンスページを参照してください
しかし、たとえば、ファイルの書き込み権限が、ファイルに書き込みできないことを意味する場合はどうでしょうか。これは、私がやろうとすると、
失敗するでしょう。しかし、uidに書き込み権限がなかったという正確な理由で失敗したかどうかをどのように判断できますか?私が探しているのは、これを正確に教えてくれるメカニズムだと思います。たとえば、「ファイルを書き込めないのは...」と表示される場合があります。書き込みエラーが発生する理由はたくさんあるので(ハードドライブの障害/破損など)、ファイルのアクセス許可を確認する必要はありません。それが失敗した理由を正確に教えてくれればもっと良いでしょう。
そのようなエラーチェックシステムがiostream(特にostream)に存在するかどうか誰かが知っていますか?(多分ブーストで?)
c++ - C++ / Boost Filesystem - '_MSC_VER' の不一致が検出されました: 値 '1700' が値 '1600' と一致しません
C++ と Boost は初めてです。Boost Filesystem ライブラリを学習しようとする小さな単純なプログラムを実行しています。Boost ライブラリをビルドするための指示に従いました。そして今、この単純なコードをコンパイルしようとすると、これらのエラーのうち 6 つが発生します。
App.cpp
ConsoleApp2 プロジェクトのコード
Visual Studio 2010 でアプリをコンパイルしようとしています。オンラインで見つけた情報の一部は VS 2012 に関連していました。これは私には当てはまらないと思います。5 つのミスマッチ エラーと最終的なリンク エラーを解決したいと思います。最後のエラーがその前の 5 に関連していることを願っています。
c++ - Boost Filesystem で隠しファイル (および隠しディレクトリ内のファイル) を無視するにはどうすればよいですか?
次を使用して、ディレクトリ内のすべてのファイルを再帰的に反復処理しています。
ただし、これには隠しファイルと隠しディレクトリ内のファイルが含まれます。
これらのファイルを除外するにはどうすればよいですか? 必要に応じて、隠しファイルとディレクトリが「.」で始まるプラットフォームに制限できます。キャラクター。
c++ - ユニットテストBoostファイルシステムcreate_directories
ブーストファイルシステム関数create_directories()のユニットテストを行い、失敗した場合、つまりcreate_directoryが失敗した場合を確認します。誰かがこれを行う方法について何か提案を提供できますか?もう1つの要件は、コードがクロスプラットフォームである必要があることです。
c++ - ブースト ディレクトリ イテレータ コンストラクタでの例外
ブースト ファイルシステム イテレータを使用していますが、特定のフォルダを解析しようとすると問題が発生します。このフォルダーは、curòlftpfs をルートとして使用してマウントされたリモート ftp フォルダーです。同じフォルダを nfs 共有としてもマウントできます。アプリケーションを nfs 共有で実行すると、反復は正常に機能しますが、ftp 共有で実行すると例外が発生します。クラッシュの原因となる特定のフォルダーは、lost+found フォルダーです。root ユーザーはそれにアクセスできないようですが、nfs 共有で ls /mnt/remoteftp/lost-found を試行すると、アクセス許可が拒否されたというエラーが表示され、ls /mnt/remoteftp/lost+found I get input/ を実行します。出力エラー。curlftpfs に何らかの問題があることは明らかですが、ある種のアクセス許可エラーが返されるはずなので、この場合はブーストがクラッシュすることはありません。私は試した
と
しかし、結果は同じです:
クラッシュを回避するためにできる追加の制御はありますか? フォルダーを無視することは望ましい動作ですが、それを無視できるブーストファイルシステムチェック機能が見つかりません! ブーストバージョン1.49を使用しています。現時点では、新しいブースト バージョンに移行することはできませんのでご注意ください。
iterator - boost :: filesystem :: directory_iteratorは削除によって無効になりますか?
ディレクトリを反復処理していて、アイテムがいくつかの基準に一致すると、それを削除します。ループ内から安全に実行できますか、それともパスを配列に保存して後で削除する必要がありますか?
boost ::filesystemdocsに関連情報が見つかりませんでした。
windows - std::mapのキーとしてboost::filesystem::pathを使用する
したがって、std :: mapはキータイプの順序付けを望んでいますが、問題が発生しました。
"a / b" <"a / c" <"a //b"しかしfs::equivalent( "a / b"、 "a // b")
"a / b" <"a / c" <"a \ b"しかし、fs :: equivalent( "a / b"、 "a \ b")
順序を作成するのに十分なパスを正規化するにはどうすればよいですか?それも可能ですか?カスタム比較演算子でpath::generic_string()を使用しようとしましたが、機能しませんでした。fs :: equivalent()も役に立ちません。なぜなら、std :: mapには同等性を実装するだけでは不十分であり、順序付けが必要だからです。これが、この質問が重複していない理由でもあります。boost:: filesystemを使用してパス名を「正規化」するにはどうすればよいですか?。
コンテキスト:Windowsのみ、Boost 1.49、filesystem3。
c++ - ファイルのディレクトリを再帰的にスキャンする
ディレクトリを反復処理し、ルートから始まるすべてのファイルの名前を出力しようとしています。
Boost::Filesystem
これは、プログラムで (1.52.0)を使用して書いた短いスニペットです。
これをコンパイルしようとすると、不思議なことにpath.hpp
、次のスニペットのファイルを指すビルド エラーが発生します。
私が得るエラーはundefined reference to boost::filesystem3::path::wchar_t_codecvt_facet()'|
プロジェクトにCodeblocks IDEを使用してUbuntu 12.10を使用しています。
c++ - 特定のフォルダを除くすべてのフォルダを削除します
一度に1つのフォルダを削除するブースト機能がすでにあります。remove_all();
フォルダのリストは次のとおりです。
上記の機能ですべて削除したいのですが、folder2とfolder5は残しておきます。