クロスプラットフォーム図的に操作するWindowsパス?
-
12-09-2019 - |
質問
皆様にお伝えしたくて書き込みクロスプラットフォームアプリのニーズの検査および操作フロントのスタッフは英語。
具体的には、特に問題私は今、私は知る必要がある場合、パスは絶対値or相対的です。
現在のコードを使用 boost::filesystem::path
もちろんの作品のような魅力をWindowsの場合:
boost::filesystem::path the_path(the_path_as_a_string);
if (!the_path.has_root_path()) { /* do stuff */ }
このアプローチであること boost::filesystem::path
みは二つのモード:ネイティブを楽しめるブランドだ。このWindowsのパス文法ができた時はコンパイルLinuxで #ifdef
edの。そのため、パス"C:\path"と絶対にWindowsではなく、相対的にプログラムを利用しています。.
できるだけおすすめクロスプラットフォームのC++ライブラリの検査および操作するWindowsパス?
今は、Windowsのパス操作しいかどうかをチェックパスが絶対である。
の基準を使った絶対パスでの両方を含むドライブ文字、パス開始 \
.例の絶対パスの下でこの基準は C:\path
.この例の相対パスをこの基準 C:path
, \path
.
解決 2
だそうですが図書館です。一つの可能性が PathIsRelative
にWinelibもしっかり身につけるた利用したいWinelib.
って非常に具体的な解決で決定に関するこの小さなものです。このパスが正しい(フェアを想定しても、私の場合、絶対パスが含まれま :\
, が相対パスでなくてはなりません。
ないのが、液には:が適して図書館があります。チェックが存在 :\
.
他のヒント
何とQTについてのQFileInfo の?
あなたがプログラムをLinux上でWindowsのパスで行うことを意図しているものに手の込んだてもらえますか?
おそらくUnixのパスに変換し構文的に、Windowsのパス文字列にいくつかの簡単な変換を適用し、それを操作するために、ブースト::ファイルシステムを使用することで十分である。