新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:linux-programing:file-splitpath-parse


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
programing:linux-programing:file-splitpath-parse [2020/07/01 10:48] – [コンパイル実行] yokoprograming:linux-programing:file-splitpath-parse [2026/07/28 13:16] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
-パス文字列からディレクトリ名やファイル名を取得 +====== パス文字列からディレクトリ名やファイル名を取得 ======
-==========================================+
 Linuxでパス文字列からディレクトリ名やファイル名を分割取得するのに、各要素を解析取得する関数を作ったので備忘録を残す。 Linuxでパス文字列からディレクトリ名やファイル名を分割取得するのに、各要素を解析取得する関数を作ったので備忘録を残す。
  
-概要 +===== 概要 =====
-----+
 Windowsでは、ファイルパスを分割するのに VC++では `_splitpath()`, Borland C++では `splitpath()` などの便利な関数が用意されている。   Windowsでは、ファイルパスを分割するのに VC++では `_splitpath()`, Borland C++では `splitpath()` などの便利な関数が用意されている。  
 Linuxではディレクトリ名やファイル名を取得する `dirname()` や `basename()` 関数が使えるが、どうも所望の結果が得られなかったり、引数のパス領域が書き換えられたりする。そこで、文字列からファイル名要素を抽出する関数を作成。 Linuxではディレクトリ名やファイル名を取得する `dirname()` や `basename()` 関数が使えるが、どうも所望の結果が得られなかったり、引数のパス領域が書き換えられたりする。そこで、文字列からファイル名要素を抽出する関数を作成。
行 10: 行 8:
 この関数の特徴は、入力した文字列を解析して各要素の開始ポインタ位置を戻す。又、戻り値でどの要素が存在してるかを知ることができる。入力した文字列は参照のみで非破壊なので、不要なコピー領域をmallocなどで確保しておかなくても必要な要素のみを抽出できる。 この関数の特徴は、入力した文字列を解析して各要素の開始ポインタ位置を戻す。又、戻り値でどの要素が存在してるかを知ることができる。入力した文字列は参照のみで非破壊なので、不要なコピー領域をmallocなどで確保しておかなくても必要な要素のみを抽出できる。
  
-ファイル要素解析関数 +===== ファイル要素解析関数 =====
-------------------+
 以下にプログラムコードを示す。 以下にプログラムコードを示す。
  
行 170: 行 167:
 </code> </code>
  
-使い方 +===== 使い方 =====
------+
 上記関数を使ったサンプルプログラム。 上記関数を使ったサンプルプログラム。
  
行 231: 行 227:
  
  
-GitHubから入手 +===== GitHubから入手 =====
-------------+
 上記のソースファイルを「[[https://github.com/jr4qpv/parsepath|GitHub]]」に登録しているので、任意フォルダで下記コマンドでファイル一式を取得できる。 上記のソースファイルを「[[https://github.com/jr4qpv/parsepath|GitHub]]」に登録しているので、任意フォルダで下記コマンドでファイル一式を取得できる。
  
行 239: 行 234:
 </code> </code>
  
-関連記事 +===== 関連記事 =====
--------+
  
   - [[myblog>2020/06/29/linux-parsepath-splitpath/|【Linuxプログラム】パス文字列からディレクトリ名やファイル名を取得]]   - [[myblog>2020/06/29/linux-parsepath-splitpath/|【Linuxプログラム】パス文字列からディレクトリ名やファイル名を取得]]
  
  
-参考 +===== 参考 =====
-----+
  
-1. [[https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/splitpath-wsplitpath?view=vs-2019|_splitpath - Microsoft Docs]] +  - [[https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/splitpath-wsplitpath?view=vs-2019|_splitpath - Microsoft Docs]] 
-2. [[https://linuxjm.osdn.jp/html/LDP_man-pages/man3/basename.3.html|Man page of BASENAME]]+  [[https://linuxjm.osdn.jp/html/LDP_man-pages/man3/basename.3.html|Man page of BASENAME]]
  
 - - - -  - - - - 
  
programing/linux-programing/file-splitpath-parse.1593568121.txt.gz · 最終更新: by yoko