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