60 lines
2.6 KiB
C++
60 lines
2.6 KiB
C++
// File: crn_strutils.h
|
|
// See Copyright Notice and license at the end of inc/crnlib.h
|
|
#pragma once
|
|
|
|
namespace crnlib
|
|
{
|
|
char* strcpy_safe(char* pDst, uint dst_len, const char* pSrc);
|
|
|
|
bool int_to_string(int value, char* pDst, uint len);
|
|
bool uint_to_string(uint value, char* pDst, uint len);
|
|
|
|
bool string_to_int(const char*& pBuf, int& value);
|
|
bool string_to_int(const wchar_t*& pBuf, int& value);
|
|
|
|
bool string_to_uint(const char*& pBuf, uint& value);
|
|
bool string_to_uint(const wchar_t*& pBuf, uint& value);
|
|
|
|
bool string_to_int64(const char*& pBuf, int64& value);
|
|
bool string_to_uint64(const char*& pBuf, uint64& value);
|
|
|
|
bool string_to_bool(const char* p, bool& value);
|
|
bool string_to_bool(const wchar_t* p, bool& value);
|
|
|
|
bool string_to_float(const char*& p, float& value, uint round_digit = 10U);
|
|
bool string_to_float(const wchar_t*& p, float& value, uint round_digit = 10U);
|
|
|
|
bool split_path(const char* p, dynamic_string* pDrive, dynamic_string* pDir, dynamic_string* pFilename, dynamic_string* pExt);
|
|
bool split_path(const wchar_t* p, dynamic_wstring* pDrive, dynamic_wstring* pDir, dynamic_wstring* pFilename, dynamic_wstring* pExt);
|
|
|
|
bool split_path(const char* p, dynamic_string& path, dynamic_string& filename);
|
|
bool split_path(const wchar_t* p, dynamic_wstring& path, dynamic_wstring& filename);
|
|
|
|
bool get_pathname(const char* p, dynamic_string& path);
|
|
bool get_pathname(const wchar_t* p, dynamic_wstring& path);
|
|
|
|
bool get_filename(const char* p, dynamic_string& filename);
|
|
bool get_filename(const wchar_t* p, dynamic_wstring& filename);
|
|
|
|
void combine_path(dynamic_string& dst, const char* pA, const char* pB);
|
|
void combine_path(dynamic_wstring& dst, const wchar_t* pA, const wchar_t* pB);
|
|
|
|
void combine_path(dynamic_string& dst, const char* pA, const char* pB, const char* pC);
|
|
void combine_path(dynamic_wstring& dst, const wchar_t* pA, const wchar_t* pB, const wchar_t* pC);
|
|
void combine_path(dynamic_wstring& dst, const wchar_t* pA, const wchar_t* pB, const wchar_t* pC, const wchar_t *pD);
|
|
|
|
bool full_path(dynamic_string& path);
|
|
bool full_path(dynamic_wstring& path);
|
|
|
|
bool get_extension(dynamic_string& filename);
|
|
bool get_extension(dynamic_wstring& filename);
|
|
|
|
bool remove_extension(dynamic_string& filename);
|
|
bool remove_extension(dynamic_wstring& filename);
|
|
|
|
bool create_path(const dynamic_wstring& path);
|
|
|
|
void trim_trailing_seperator(dynamic_wstring& path);
|
|
|
|
} // namespace crnlib
|