問題タブ [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 に答える
1089 参照

c++ - レキシカル比較 std::filesystem::path 大文字と小文字を区別しない?

私の問題は次のようなものです: Windows プラットフォームで 2 つのパスが同一であるかどうかを判断するには、大文字と小文字を区別せずにパスを比較します。「C:\test.txt」と「C:\Test.txt」は同じファイル要素に解決されます。たとえば、を使用してこれを簡単に解決できますstd::filesystem::equalが、この特定の問題については、OS ラウンドトリップを少し節約したいと思います (アイドル状態で実行し、各ループで 100 回以上の比較を実行します - 目立つようになるのではないかと心配しています)。

を比較するときstd::filesystem::path、呼び出しによって字句的に正規化された場合でもlexical_normal、一般的な方法で行われるため、大文字と小文字が考慮されます。これはもちろん理にかなっていますが、文字列を自分で比較する以外に、比較せずにライブラリでこれを行う方法がわかりません。パスの比較方法を何らかの方法でオーバーライドすることは可能ですか?

私も調べましboost::filesystemたが、私が見る限り、問題にも対処していません。