Dopo aver investigato in vari repository e pagine web, alla fine abbiamo trovato la soluzione che vi mostreremo qui.
Definito nell'intestazione
|
||
---|---|---|
intisprint(int ch ); |
Controlla se il carattere dato può essere stampato, cioè se è un numero (0123456789
), una lettera maiuscola (ABCDEFGHIJKLMNOPQRSTUVWXYZ
), una lettera minuscola (abcdefghijklmnopqrstuvwxyz
), un carattere di punteggiatura(!"#$%&'()*+,-./:;<=>[email protected][]^_`{|}~
), o uno spazio, o qualsiasi carattere classificato come stampabile dal locale C corrente.
Il comportamento è indefinito se il valore di ch
non è rappresentabile come unsigned char
e non è uguale a EOF
.
I parametri
ch | - | carattere da classificare |
Valore di ritorno
Valore non nullo se il carattere può essere stampato, nullo altrimenti.
Esempio
#include#include #include intmain(void){unsignedchar c ='xa0';// the non-breaking space in ISO-8859-1printf("In the default C locale, \xa0 is %sprintablen",isprint(c)?"":"not ");setlocale(LC_ALL,"en_GB.iso88591");printf("In ISO-8859-1 locale, \xa0 is %sprintablen",isprint(c)?"":"not ");}
Uscita:
In the default C locale, xa0 is not printable In ISO-8859-1 locale, xa0 is printable
Riferimenti
- Norma C11 (ISO/IEC 9899:2011):
- 7.4.1.8 La funzione isprint (p: 202)
- Norma C99 (ISO/IEC 9899:1999):
- 7.4.1.8 La funzione isprint (p: 183)
- Norma C89/C90 (ISO/IEC 9899:1990):
- 4.3.1.7 La funzione isprint
Vedi anche
iswprint(C95) | controlla se un carattere largo è un carattere di stampa (funzione) |
Valori ASCII | caratteri |
|
|
|
|
|
|
|
|
|
|
|
|
||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
decimale | esadecimale | ottale | |||||||||||||
0-8 | x0 -x8 |
|