Subversion Repositories spk

Rev

Rev 1 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 114
Line 25... Line 25...
25
bool isfloat(const char *string);
25
bool isfloat(const char *string);
26
bool isblank(const char *string);
26
bool isblank(const char *string);
27
char ** strexplode(char separator, char *string, size_t *size, size_t limit=0);
27
char ** strexplode(char separator, char *string, size_t *size, size_t limit=0);
28
char ** lineexplode(char *string, size_t size, size_t *count);
28
char ** lineexplode(char *string, size_t size, size_t *count);
29
char * ExtractFileName(const char *pszPath, bool bNoExtension=false);
29
char * ExtractFileName(const char *pszPath, bool bNoExtension=false);
-
 
30
#ifdef STRUTILS_WIN_WCHAR
-
 
31
wchar_t * ExtractFileNameW(const wchar_t *pszPath, bool bNoExtension=false);
-
 
32
#endif
30
char * ExtractFilePath(const char *pszPath);
33
char * ExtractFilePath(const char *pszPath);
31
char * strcat2(int num, ...);
34
char * strcat2(int num, ...);
32
bool isblank(const char *str);
35
bool isblank(const char *str);
33
char * ChangeFileExtension(const char *pszFileName, const char *pszExt);
36
char * ChangeFileExtension(const char *pszFileName, const char *pszExt);
34
const char * GetFileExtension(const char *pszFileName);
37
const char * GetFileExtension(const char *pszFileName);
Line 93... Line 96...
93
	char *pos=(char*)buffer, *end=(char*)buffer + count;
96
	char *pos=(char*)buffer, *end=(char*)buffer + count;
94
	size_t rep=0;
97
	size_t rep=0;
95
	do{
98
	do{
96
		pos=(char*)memchr(pos, c, end - pos);
99
		pos=(char*)memchr(pos, c, end - pos);
97
		if(pos) {
100
		if(pos) {
98
			*pos=n;
101
			*pos = (char)n;
99
			pos++;
102
			pos++;
100
			rep++;
103
			rep++;
101
			if(limit && rep >= limit) break;
104
			if(limit && rep >= limit) break;
102
		}
105
		}
103
	}
106
	}
Line 170... Line 173...
170
#ifdef STRUTILS_WIN_WCHAR
173
#ifdef STRUTILS_WIN_WCHAR
171
inline wchar_t * str2wchar(const char *sz)
174
inline wchar_t * str2wchar(const char *sz)
172
{
175
{
173
	size_t len=strlen(sz);
176
	size_t len=strlen(sz);
174
	wchar_t *ws=new wchar_t[len + 1];
177
	wchar_t *ws=new wchar_t[len + 1];
175
	MultiByteToWideChar(CP_ACP, 0, sz, len, ws, len);
178
	MultiByteToWideChar(CP_ACP, 0, sz, (int)len, ws, (int)len);
176
	ws[len]=0;
179
	ws[len]=0;
177
	return ws;
180
	return ws;
178
}
181
}
179
//---------------------------------------------------------------------------------
182
//---------------------------------------------------------------------------------
180
inline char * wchar2str(const wchar_t *ws)
183
inline char * wchar2str(const wchar_t *ws)
181
{
184
{
182
	size_t len=wcslen(ws);
185
	size_t len=wcslen(ws);
183
	char *sz=new char[len + 1];
186
	char *sz=new char[len + 1];
184
	WideCharToMultiByte(CP_ACP, 0, ws, len, sz, len, 0, 0);
187
	WideCharToMultiByte(CP_ACP, 0, ws, (int)len, sz, (int)len, 0, 0);
185
	sz[len]=0;
188
	sz[len]=0;
186
	return sz;
189
	return sz;
187
}
190
}
188
//---------------------------------------------------------------------------------
191
//---------------------------------------------------------------------------------
189
#endif // defined(STRUTILS_WIN_WCHAR)
192
#endif // defined(STRUTILS_WIN_WCHAR)