glibmm: String Utility Functions
This section describes a number of utility functions for creating and manipulating strings, as well as other string-related stuff. More...
Functions |
|
bool | Glib::str_has_prefix (const std::string & str, const std::string & prefix) |
Looks whether the string
str
begins with
prefix
.
More...
|
|
bool | Glib::str_has_suffix (const std::string & str, const std::string & suffix) |
Looks whether the string
str
ends with
suffix
.
More...
|
|
double | Glib::Ascii::strtod (const std::string & str) |
Converts a string to a
double
value.
More...
|
|
double | Glib::Ascii::strtod (const std::string & str, std::string::size_type& end_index, std::string::size_type start_index=0) |
Converts a string to a
double
value.
More...
|
|
std::string | Glib::Ascii::dtostr (double d) |
Converts a
double
to a string, using the
'
.
More...
|
|
std::string | Glib::strescape (const std::string & source) |
Escapes all special characters in the string.
More...
|
|
std::string | Glib::strescape (const std::string & source, const std::string & exceptions) |
Escapes all special characters in the string.
More...
|
|
std::string | Glib::strcompress (const std::string & source) |
Replaces all escaped characters with their one byte equivalent.
More...
|
|
Glib::ustring | Glib::strerror (int errnum) |
Returns a string corresponding to the given error code, e.g.
"no such process"
.
More...
|
|
Glib::ustring | Glib::strsignal (int signum) |
Returns a string describing the given signal, e.g.
"Segmentation fault"
.
More...
|
|
Detailed Description
This section describes a number of utility functions for creating and manipulating strings, as well as other string-related stuff.
Function Documentation
std::string Glib::Ascii::dtostr | ( | double | d | ) |
Converts a
double
to a string, using the
'
.
' as decimal point.
This functions generates enough precision that converting the string back using Glib::Ascii::strtod() gives the same machine-number (on machines with IEEE compatible 64bit doubles).
- Parameters
-
d The double
value to convert.
- Returns
- The converted string.
bool Glib::str_has_prefix | ( | const std::string & | str , |
const std::string & | prefix | ||
) |
Looks whether the string str begins with prefix .
- Parameters
-
str A string. prefix The prefix to look for.
- Returns
-
true
if str begins with prefix ,false
otherwise.
bool Glib::str_has_suffix | ( | const std::string & | str , |
const std::string & | suffix | ||
) |
Looks whether the string str ends with suffix .
- Parameters
-
str A string. suffix The suffix to look for.
- Returns
-
true
if str ends with suffix ,false
otherwise.
std::string Glib::strcompress | ( | const std::string & | source | ) |
Replaces all escaped characters with their one byte equivalent.
This function does the reverse conversion of Glib::strescape() .
- Parameters
-
source A string to compress.
- Returns
- A copy of source with all escaped characters compressed.
Glib::ustring Glib::strerror | ( | int | errnum | ) |
Returns a string corresponding to the given error code, e.g.
"no such process"
.
This function is included since not all platforms support the
strerror()
function.
- Parameters
-
errnum The system error number. See the standard C errno
documentation.
- Returns
-
A string describing the error code. If the error code is unknown,
"unknown error ( <errnum> )"
is returned.
std::string Glib::strescape | ( | const std::string & | source | ) |
Escapes all special characters in the string.
Escapes the special characters
'\b'
,
'\f'
,
'\n'
,
'\r'
,
'\t'
,
'\'
and
'"'
in the string
source
by inserting a
'\'
before them. Additionally all characters in the range
0x01
-
0x1F
(everything below
SPACE
) and in the range
0x80
-
0xFF
(all non-ASCII chars) are replaced with a
'\'
followed by their octal representation.
Glib::strcompress() does the reverse conversion.
- Parameters
-
source A string to escape.
- Returns
- A copy of source with certain characters escaped. See above.
std::string Glib::strescape | ( | const std::string & | source , |
const std::string & | exceptions | ||
) |
Escapes all special characters in the string.
Escapes the special characters
'\b'
,
'\f'
,
'\n'
,
'\r'
,
'\t'
,
'\'
and
'"'
in the string
source
by inserting a
'\'
before them. Additionally all characters in the range
0x01
-
0x1F
(everything below
SPACE
) and in the range
0x80
-
0xFF
(all non-ASCII chars) are replaced with a
'\'
followed by their octal representation. Characters supplied in
exceptions
are not escaped.
Glib::strcompress() does the reverse conversion.
- Parameters
-
source A string to escape. exceptions A string of characters not to escape in source .
- Returns
- A copy of source with certain characters escaped. See above.
Glib::ustring Glib::strsignal | ( | int | signum | ) |
Returns a string describing the given signal, e.g.
"Segmentation fault"
.
This function is included since not all platforms support the
strsignal()
function.
- Parameters
-
signum The signal number. See the signal()
documentation.
- Returns
-
A string describing the signal. If the signal is unknown,
"unknown signal ( <signum> )"
is returned.
double Glib::Ascii::strtod | ( | const std::string & | str | ) |
Converts a string to a
double
value.
This function behaves like the standard
strtod()
function does in the C locale. It does this without actually changing the current locale, since that would not be thread-safe.
This function is typically used when reading configuration files or other non-user input that should be locale independent. To handle input from the user you should normally use locale-sensitive C++ streams.
To convert from a string to
double
in a locale-insensitive way, use
Glib::Ascii::dtostr()
.
- Parameters
-
str The string to convert to a numeric value.
- Returns
-
The
double
value.
- Exceptions
-
std::overflow_error Thrown if the correct value would cause overflow. std::underflow_error Thrown if the correct value would cause underflow.
double Glib::Ascii::strtod | ( | const std::string & | str , |
std::string::size_type & | end_index , | ||
std::string::size_type |
start_index
=
0
|
||
) |
Converts a string to a
double
value.
This function behaves like the standard
strtod()
function does in the C locale. It does this without actually changing the current locale, since that would not be thread-safe.
This function is typically used when reading configuration files or other non-user input that should be locale independent. To handle input from the user you should normally use locale-sensitive C++ streams.
To convert from a string to
double
in a locale-insensitive way, use
Glib::Ascii::dtostr()
.
- Parameters
-
str The string to convert to a numeric value. start_index The index of the first character that should be used in the conversion.
- Return values
-
end_index The index of the character after the last character used in the conversion.
- Returns
-
The
double
value.
- Exceptions
-
std::out_of_range Thrown if start_index is out of range. std::overflow_error Thrown if the correct value would cause overflow. std::underflow_error Thrown if the correct value would cause underflow.