> For the complete documentation index, see [llms.txt](https://man.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://man.bsdcn.org/locale/isgraph.3.md).

# isgraph(3)

`isgraph` — 打印字符测试（不含空格）

## 名称

`isgraph`, `isgraph_l`

## 库

Lb libc

## 概要

`#include <ctype.h>`

`Ft int Fn isgraph int c Ft int Fn isgraph_l int c locale_t loc`

## 描述

`isgraph` 和 `isgraph_l` 函数测试任何打印字符，空格以及其他 locale 相关的类空格字符除外。参数的值必须可表示为 `unsigned char` 或 `EOF` 的值。

在 ASCII 字符集中，这包含以下字符（数值以八进制表示）：

| `041 '!'` | `042 '"'`    | `043 '#'` | `044 '$'`   | `045 '%'` |
| --------- | ------------ | --------- | ----------- | --------- |
| `046 '&'` | `047 '''`    | `050 '('` | `051 ')'`   | `052 '*'` |
| `053 '+'` | `054 ','`    | `055 '-'` | `056 '.'`   | `057 '/'` |
| `060 '0'` | `061 '1'`    | `062 '2'` | `063 '3'`   | `064 '4'` |
| `065 '5'` | `066 '6'`    | `067 '7'` | `070 '8'`   | `071 '9'` |
| `072 ':'` | `073 ';'`    | `074 '<'` | `075 '='`   | `076 '>'` |
| `077 '?'` | `100 '@'`    | `101 'A'` | `102 'B'`   | `103 'C'` |
| `104 'D'` | `105 'E'`    | `106 'F'` | `107 'G'`   | `110 'H'` |
| `111 'I'` | `112 'J'`    | `113 'K'` | `114 'L'`   | `115 'M'` |
| `116 'N'` | `117 'O'`    | `120 'P'` | `121 'Q'`   | `122 'R'` |
| `123 'S'` | `124 'T'`    | `125 'U'` | `126 'V'`   | `127 'W'` |
| `130 'X'` | `131 'Y'`    | `132 'Z'` | `133 '['`   | `134 '\'` |
| `135 ']'` | `136 '^'`    | `137 '_'` | `140 GRAVE` | `141 'a'` |
| `142 'b'` | `143 'c'`    | `144 'd'` | `145 'e'`   | `146 'f'` |
| `147 'g'` | `150 'h'`    | `151 'i'` | `152 'j'`   | `153 'k'` |
| `154 'l'` | `155 'm'`    | `156 'n'` | `157 'o'`   | `160 'p'` |
| `161 'q'` | `162 'r'`    | `163 's'` | `164 't'`   | `165 'u'` |
| `166 'v'` | `167 'w'`    | `170 'x'` | `171 'y'`   | `172 'z'` |
| `173 '{'` | **174 '\|'** | `175 '}'` | `176 '~'`   |           |

`isgraph_l` 函数接受一个显式的 locale 参数，而 `isgraph` 函数使用当前的全局或每线程 locale。

## 返回值

`isgraph` 和 `isgraph_l` 函数在字符测试为假时返回零，在字符测试为真时返回非零。

## 兼容性

在具有大字符集的 locale 中接受超出 `unsigned char` 类型范围的参数的 4.4BSD 扩展被认为过时，可能在未来的版本中不再支持。应改用 `iswgraph` 或 `iswgraph_l` 函数。

## 参见

[ctype(3)](/locale/ctype.3.md), [ctype\_l(3)](/locale/ctype_l.3.md), iswgraph(3), iswgraph\_l(3), [xlocale(3)](/locale/xlocale.3.md), [ascii(7)](/man7/ascii.7.md)

## 标准

`isgraph` 函数遵循 ISO/IEC 9899:1990 ("ISO C89")。`isgraph_l` 函数遵循 IEEE Std 1003.1-2008 ("POSIX.1")。
