C語言 isgraph() 函數用來檢測一個字元是否是圖形字元。
在可列印字元(isprint() 返回“真”的字元)中,絕大部分字元既會佔用一個字元位置,又會在螢幕上顯示出來,這些字元就是圖形字元。但是有個別的字元只佔用位置卻不顯示,在 ASCII 編碼中,這樣的字元只有一個,就是空格(' ')。
對於計算機來說,我們在顯示器上看到的所有元素(包括圖片、文字、背景、動畫等)其實都是圖形,計算機都需要把它們繪製出來,只不過文字和圖片在操作上有很大的不同,我們在使用時一般不會將文字作為圖形對待。
我們說一個字元是圖形字元,就是說這個字元需要在顯示器上繪製出來,而空格、換行、Tab 縮排等字元只會占用輸出的位置,不需要繪製。
語法/原型:
int isgraph(int c);
引數 c 表示要檢測的字元。
返回值:返回值為非 0(真)表示 c 是圖形字元,返回值為 0(假)表示 c 不是圖形字元。
【範例】輸出一個文字檔案中所有的圖形字元。
#include <stdio.h>
#include <ctype.h>
int main ()
{
FILE * pFile;
int c;
pFile=fopen ("log.txt","r");
if (pFile)
{
do {
c = fgetc (pFile);
if (isgraph(c)) putchar (c);
} while (c != EOF);
fclose (pFile);
}
}
這段程式碼使用 do-while 迴圈來遍歷 demo.txt 中的所有字元,如果當前字元是圖形字元,那麼就輸出,否則就不輸出。