問題タブ [std-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.

0 投票する
1 に答える
2789 参照

c++ - std::filesystem::path の最後のディレクトリを取得するには?

ディレクトリへのパスがあり、C++ を使用してそのディレクトリの名前を取得したいと考えていますstd::filesystem。たとえば、パスが次の場合:

「my_directory」を取得したいと思います。

私はこの回答を見て、最初は で機能したものが で機能してboost::filesystemいないと想定していましたがstd::filesystem、それは正しくない可能性があります。boost::filesystemいずれにせよ、ファイルで終わるパスについて具体的に尋ねているため、これが重複しているとは思いません。

文字列の取得または取得、セパレーターでの分割など、他にもいくつかの解決策を考えることができますがfake_path.end() - 2、どれも以前ほど単純ではありfake_path.filename()ません。

.filename()ファイルのパスを呼び出すのとほぼ同等の、ディレクトリのパスの最後の部分を取得するクリーンな方法はありますか?

0 投票する
1 に答える
1045 参照

c++ - c++ 17 filesystem::recursive_directory_iterator() は、Mac では no such directory というエラーを返しますが、Windows では動作します

構成

  • macOS: 10.15.5
  • クロスコード: 11.5
  • クラン: 11.0.3
  • プロジェクトは c++17 に設定されています

私はmacOSが初めてで、簡単な問題を解決しようとしています..

このコードでエラーが発生します(xcode、clion、cmakeで試しました)-

問題
ここで、データフォルダーは手動で作成されるか、自動で作成されます。その中にランダムファイルが生成されます(サブディレクトリファイルも)。これらすべてのファイルのパスと名前が必要です。

追加情報
このコードは問題なく動作します

0 投票する
1 に答える
618 参照

c++ - std::filesystem::canonical と std::filesystem::absolute が機能しない

コードのコンパイラとして C++2a 標準の Visual Studio 2019 を使用しています。

標準的であろうと絶対的であろうと、必要な出力は得られません。コマンド全体を引数として渡すのではなくcd、そのフォルダーまでコマンドを実行します。つまり、ここに画像の説明を入力

で出力std::filesystem::canonical

画像でわかるように、標準コードの出力はありません。

で出力std::filesystem::absolute

画像でわかるように、絶対コードの出力はありません。



入力: 私が実行しているファイル。基本的に/. 正規パス/絶対パスに変換します。

私も絶対に試してみましたが、同じ出力が得られました。


更新: ブースト ファイルシステムを使用して同じコードを試しました。出力は得られましたが、正しくありませんでした。

ここに画像の説明を入力

C:\dasfsa/dsfafsa/sdfsa/a.exeこれは使用できません。その 1 つのバックスラッシュを手動で変換することはできますが、それがある種の難解な機能なのかバグなのかはわかりません。また、バグの場合は、そのスラッシュがどこでどのように変更されるのかわかりません。

で出力boost::filesystem::canonical

画像でわかるように、boost::canonical コードの出力はありません。