Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm isprint() trong C++

isprint() trong C++ là hàm built-in trong header <cctype> (hoặc ctype.h) kiểm tra ký tự có in được (printable) hay không.

Đặc điểm

  • Trả về true cho các ký tự in được (kể cả space ' ').
  • Trả về false cho ký tự điều khiển: newline (\n), tab (\t), null (\0)...
  • Phiên bản locale-specific có sẵn trong <clocale>.

Cú pháp

int isprint(int c);

Tham số: c - ký tự cần kiểm tra (ép kiểu int hoặc EOF).

Ví dụ 1: In cho đến khi gặp ký tự không in được

/* isprint example */
#include <stdio.h>
#include <ctype.h>
int main() {
    int i = 0;
    char str[] = "first line\nsecond line\n";
    while (isprint(str[i])) {
        putchar(str[i]);
        i++;
    }
    return 0;
}

Kết quả

first line

Chương trình dừng tại '\n' (không in được).

Ví dụ 2: Thay ký tự không in được bằng space

#include <cctype>
#include <iostream>
#include <cstring>
using namespace std;
int main() {
    char str[] = "Hello\tall\nhow are you";
    for (int i = 0; i < strlen(str); i++) {
        if (!isprint(str[i]))
            str[i] = ' ';
    }
    cout << str;
    return 0;
}

Kết quả

Hello all how are you

Các hàm liên quan trong <cctype>: isblank, iscntrl, isdigit, isgraph, isspace, ispunct...