function template
<locale>
std::isgraph
template <class charT> bool isgraph (charT c, const locale& loc);
Check if character has graphical representation using locale
Checks whether c has graphical representation using the ctype facet of locale loc, returning the same as if ctype::is is called as:
1
|
use_facet < ctype<charT> > (loc).is (ctype_base::graph, c)
|
This function template overloads the C function isgraph (defined in <cctype>).
Parameters
- c
- Character to be checked.
- loc
- Locale to be used. It shall have a ctype facet.
The template argument charT is the character type.
Return Value
true
if indeed c has graphical representation.
false
otherwise.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
// isgraph example (C++)
#include <iostream> // std::cout
#include <fstream> // std::ifstream
#include <locale> // std::locale, std::isgraph
int main ()
{
std::locale loc;
std::ifstream myfile ("myfile.txt");
char c;
while (myfile.good())
{
myfile >> c;
if (std::isgraph(c,loc)) std::cout << c;
}
myfile.close();
return 0;
}
|
This example prints out the contents of myfile.txt
without spaces and special characters, i.e. only prints out the characters that qualify as isgraph.
Data races
Both loc and its ctype facet are accessed.
Exception safety
Strong guarantee: if an exception is thrown, there are no effects.
See also
- ctype
- Character type facet (class template)
- isgraph (cctype)
- Check if character has graphical representation (function)
- isprint
- Check if character is printable using locale (function template)
- isspace
- Check if character is a white-space using locale (function template)
- isalnum
- Check if character is alphanumeric using locale (function template)