概要
| プロトタイプ宣言 | 動作説明 |
|---|---|
| std::string getPath (const char* pPath); | ファイル名の除去 |
| char* getFileName (const char* pPath); | ファイル名の抽出 |
| std::string getFileName_withoutExtension(const char* pPath); | 拡張子を除いたファイル名の抽出 |
| char* getExtension (const char* pPath); | 拡張子の抽出 |
| std::vector | パスをパース |
| std::vector | パスをディレクトリ構成を保ったままパース |
使用例
#include <sstd/sstd.hpp> int main(){ const char* pPath="./abc/def/text.abc.txt\0"; printf("Input pPath: %s\n", pPath); printf("Output getPath: %s\n", sstd::getPath (pPath).c_str()); printf("Output getFileName: %s\n", sstd::getFileName (pPath) ); printf("Output getFileNameWithoutExtension: %s\n", sstd::getFileName_withoutExtension(pPath).c_str()); printf("Output getFileExtension: %s\n", sstd::getExtension (pPath) ); printf("\n"); sstd::printn(sstd::parsePath(R"(C:\a\b)")); sstd::printn(sstd::parsePath(R"(/a/b)")); sstd::printn(sstd::parsePath(R"(./a/b)")); sstd::printn(sstd::parsePath(R"(../a/b)")); sstd::printn(sstd::parsePath(R"(../a/b/)")); sstd::printn(sstd::parsePath(R"(a/b/)")); printf("\n"); sstd::printn(sstd::parsePath_withBase(R"(C:\a\b)")); sstd::printn(sstd::parsePath_withBase(R"(/a/b)")); sstd::printn(sstd::parsePath_withBase(R"(./a/b)")); sstd::printn(sstd::parsePath_withBase(R"(../a/b)")); sstd::printn(sstd::parsePath_withBase(R"(../a/b/)")); sstd::printn(sstd::parsePath_withBase(R"(a/b/)")); }
実行結果
$ ./exe.exe Input pPath: ./abc/def/text.abc.txt Output getPath: ./abc/def/ Output getFileName: text.abc.txt Output getFileNameWithoutExtension: text.abc Output getFileExtension: txt sstd::parsePath(R"(C:\a\b)")[3] = [ C: a b ] sstd::parsePath(R"(/a/b)")[2] = [ a b ] sstd::parsePath(R"(./a/b)")[3] = [ . a b ] sstd::parsePath(R"(../a/b)")[3] = [ .. a b ] sstd::parsePath(R"(../a/b/)")[3] = [ .. a b ] sstd::parsePath(R"(a/b/)")[2] = [ a b ] sstd::parsePath_withBase(R"(C:\a\b)")[3] = [ C: C:/a C:/a/b ] sstd::parsePath_withBase(R"(/a/b)")[2] = [ a a/b ] sstd::parsePath_withBase(R"(./a/b)")[3] = [ . ./a ./a/b ] sstd::parsePath_withBase(R"(../a/b)")[3] = [ .. ../a ../a/b ] sstd::parsePath_withBase(R"(../a/b/)")[3] = [ .. ../a ../a/b ] sstd::parsePath_withBase(R"(a/b/)")[2] = [ a a/b ]
実装
0 件のコメント:
コメントを投稿