Linux / C Überprüfen Sie, ob ein char mit Leerzeichen, neue-Zeile-Zeichen oder das tab-Zeichen
Habe ich ein GtkEntry, wo der Benutzer zur Eingabe einer IP-Nummer oder ein hostname. Wenn die Taste gedrückt wird, was der Benutzer eingegeben in dem Eintrag wird Hinzugefügt, um einen char. Wie kann ich programmgesteuert überprüfen, ob dieser char mit Leerzeichen, neue-Zeile-Zeichen oder das tab-Zeichen? Ich brauche nicht, Sie zu entfernen, nur um zu wissen, ob Sie existieren. Vielen Dank im Voraus!
- Sie haben sich ein Terminologie-problem hier: ein
char
ist ein einzelnes Zeichen in einer kompakten und einfachen Codierung (in der Regel ASCII -). Was Sie fordern, ist ein "string" (die oft helfen, in einemchar[]
oderchar*
). Auf top von, dass Sie underspecified das problem. Ich glaube, dass Sie wollen, um Streifen oder ignorieren (was?) führende und nachfolgende Leerzeichen und überprüfen, um zu sehen, ob es eine interne Leerzeichen. Nein?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Funktion, die Sie suchen, ist strpbrk().
Werfen Sie einen Blick auf Charakter-Klassifizierung-Routinen:
man isspace
.char*
ist ein Zeiger array diese und wird als "string" in C. Der Klassifizierung genannten Funktionen arbeiten auf einzelne Zeichen, und nicht die Saiten.Erstellen Sie ein char-array mit den Zeichen des Interesses. Dann nutzen Sie strchr (), um die Suche für die Anwesenheit der char in der Zeichenkette.
Lassen Sie uns annehmen, dass du meinst, dass das, was eingegeben wird in den GtkEntry Hinzugefügt wird, um ein array von char (ein string in C-Terminologie, vorausgesetzt, es ist null-terminiert). Dann zu überprüfen, ob das array of char, enthält mindestens eine oder mehrere der "space" - Zeichen (gemäß dem Gebietsschema, so verwenden wir isspace),
denen gedreht werden kann in eine Funktion zum Beispiel.
Du vielleicht eine Funktion wie die folgende, die die Anzahl von whitespace-Zeichen in der angegebenen Zeichenfolge geben Sie eine positive ganze Zahl ist, welche gefunden werden (also TRUE), null falls keiner gefunden werden (also FALSE) und -1 bei Fehler.