OPTPiX SpriteStudio SDK
Loading...
Searching...
No Matches
ssstring_uty.h
Go to the documentation of this file.
1#ifndef __SSSTRING_UTY__
2#define __SSSTRING_UTY__
3
4
5#include <string>
6#include <fstream>
7#include <vector>
8#include <iostream>
9#include <sstream>
10#include <fstream>
11#include <iterator>
12
13namespace spritestudio6
14{
15
16/*
17 * @brief 文字列を指定のkeyで分割して返します。
18 *
19 * @param[in] in_str 分割する文字列
20 * @param[in] key 分割のキーとなる文字列
21 * @param[out] out_array 分割した文字列を格納する文字列リスト
22 * @retval なし
23*/
24void split_string( const std::string &in_str ,
25 const char key,
26 std::vector<std::string>& out_array );
27
28//bool is_digit_string( std::string &in_str );
29bool is_digit_string( std::string &in_str , bool* is_priod = 0 );
30
31/*
32 * @brief ファイルのフルパスからフォルダパスのみを取得します。
33 * @param[in] ファイルパス
34 * @retval ファイルパスからファイル名を取り除いた文字列
35*/
36std::string path2dir(const std::string &path);
37
38
39/*
40 * @brief ファイルのフルパスからファイル名のみを取得します。
41 * @param[in] ファイルパス
42 * @retval ファイルパスからフォルダ名を取り除いた文字列
43*/
44std::string path2file(const std::string &path);
45
46
47/*
48 * @brief 相対パスを絶対パスへ変換する
49 * param[in] basePath 基準ディレクトリ
50 * param[int] relPath 相対パス
51 * retval relpathを絶対パスへ変換した値
52*/
53std::string getFullPath( const std::string& basePath , const std::string &relPath);
54
55
56std::string nomarizeFilename( std::string str );
57
58/*
59* @brief ファイルバージョンチェック
60* param[in] fileVersion チェックするファイルのバージョン
61* param[in] nowVersion 現在のバージョン
62* retval 現在のバージョンより古い場合はfalse
63*/
64bool checkFileVersion(std::string fileVersion, std::string nowVersion);
65
66
67
69{
70private:
71 std::vector<std::string> string_array;
72 int tokenIndex;
73 int tokennum;
74
75public:
77 virtual ~SsStringTokenizer() {}
78
79 SsStringTokenizer(std::string src_str , char token ) {
80 split_string(src_str, token, string_array);
81 tokenIndex = 0;
82 tokennum = (int)string_array.size();
83 }
84
85 bool get(int* out)
86 {
87 if (isEnd()) return false;
88 std::string str = string_array[tokenIndex];
89 *out = atoi(str.c_str());
90 tokenIndex++;
91 return !isEnd();
92 }
93
94 bool get(float* out)
95 {
96 if (isEnd()) return false;
97 std::string str = string_array[tokenIndex];
98 *out = (float)atof(str.c_str());
99 tokenIndex++;
100 return !isEnd();
101 }
102
103 bool get(std::string* str)
104 {
105 if (isEnd()) return false;
106 *str = string_array[tokenIndex];
107
108 tokenIndex++;
109 return !isEnd();
110 }
111
113 {
114 return tokennum;
115 }
116
117 bool isEnd()
118 {
119 return (tokennum <= tokenIndex);
120 }
121
122};
123
124} // namespace spritestudio6
125
126#endif
int tokenNum()
Definition ssstring_uty.h:112
bool get(float *out)
Definition ssstring_uty.h:94
SsStringTokenizer()
Definition ssstring_uty.h:76
virtual ~SsStringTokenizer()
Definition ssstring_uty.h:77
SsStringTokenizer(std::string src_str, char token)
Definition ssstring_uty.h:79
bool get(std::string *str)
Definition ssstring_uty.h:103
bool get(int *out)
Definition ssstring_uty.h:85
bool isEnd()
Definition ssstring_uty.h:117
Definition ISsEffectRender.h:5
void split_string(const std::string &in_str, const char key, std::vector< std::string > &out_array)
文字列の切り分け
Definition ssstring_uty.cpp:33
std::string getFullPath(const std::string &basePath, const std::string &relPath)
Definition ssstring_uty.cpp:99
bool checkFileVersion(std::string fileVersion, std::string nowVersion)
Definition ssstring_uty.cpp:247
bool is_digit_string(std::string &in_str, bool *is_priod)
Definition ssstring_uty.cpp:74
std::string nomarizeFilename(std::string path)
Definition ssstring_uty.cpp:179
std::string path2file(const std::string &path)
Definition ssstring_uty.cpp:65
std::string path2dir(const std::string &path)
Definition ssstring_uty.cpp:58