iscntrl()

iscntrl() ist definiert in der ctype, die in C über ctype.h, bzw. in C++ über cctype eingebunden wird.

Funktion

iscntrl() überprüft, ob das übergebene Zeichen eine Kontrollzeichen ist. Als Kontrollzeichen sind die ersten 32 ASCII-Codes (00-1F), sowie der letzte (7F) festgelegt. Die Kontrollzeichen enthalten unter anderem den Zeilenvorschub (0A: LF=LineFeed), Wagenrücklauf (0D: CR=CarriageReturn), die in einem Text in die nächste Zeile setzen, unsichtbare Steuerzeichen, wie den Tabulator (08: TAB). Ebenso fallen besondere Tasten, wie Escape (1B: ESC), BackSpace (07: BS) und Entfernen (7F: DEL) unter die Kontrollzeichen. Sie sind der ASCII-Tabelle zu entnehmen.

Alle Kontrollzeichen sind nicht sichtbar druckbar, somit entspricht iscntrl() der negierten Form von isprint().

Es wird ein Integer übergeben, ein Char wird allerdings implizit in ein Integer konvertiert, so dass

iscntrl( 'c' );

ebenso syntaktisch korrekt ist.

Signatur

#include <ctype.h>
int iscntrl( int character );

character: der zu überprüfende ASCII Code

Return value: 0 für false, ein beliebiger anderer Wert für true

Beispiel

#include <ctype.h>
#include <stdio.h>
 
int main( void )
{
  char text[] = "\n\tWelcome2C programming!";  // Nächste Zeile (\n) + Tabulator (\t)
  int i = 0;
 
  while( iscntrl( text[ i ] ))
    i++;
 
  printf( "Die ersten %d Zeichen sind Kontrollzeichen, gefolgt vom ASCII Code %x (Zeichen %c)\n", i, text[ i ], text[ i ] );
 
  return 0; 
}


Ausgabe:
Die ersten 2 Zeichen sind Kontrollzeichen, gefolgt vom ASCII Code 57 (Zeichen W)

siehe auch