Grundlagen der Zeichen Manipulation Funktionen für C-Programmierung

Im Herzen von jedem Text-String ist der char-Variable. Mit der C-Programmierung, dann ist es ein einzigartiges Schuhfach, in dem Sie einen Wert von 0 bis 255 Sachen, die Wert visuell als ein Zeichen dargestellt wird.

Menu

Grundlagen der ctypes

Die Sprache C verfügt über eine Schar von Funktionen einzelner Zeichen zu testen oder zu manipulieren, entworfen. Die Funktionen sind im ctype.h Header-Datei definiert. Die meisten Programmierer deshalb auf die Funktionen wie die verweisen CTYPE Funktionen, wo CTYPE ausgesprochen # 147-see-Typ, # 148- und nicht # 147-stoor-ye, # 148-, die wie ein gebürtiger Russe es lesen würde.

Um die CTYPE Funktionen verwenden, muss die ctype.h Header-Datei im Quellcode enthalten sein:

#einschließen 

CTYPE Funktionen passen in zwei Kategorien: Testen und Manipulation.

FunktionGibt TRUE zurück, wenn CH ist
isalnum (CH)Ein Buchstabe des Alphabets (Groß- oder Kleinbuchstaben) oder eine Zahl
isalpha (CH)Ein Groß- oder Kleinbuchstaben des Alphabets
isascii (CH)Ein ASCII-Wert im Bereich von 0 bis 127
ist leer(CH)Eine Lasche oder Raum oder eine andere Leerzeichen
iscntrl (CH)Ein Steuercodezeichen, Werte 0 bis 31 und 127
isdigit (CH)Ein Zeichen von 0 bis 9
isgraph (CH)Eine beliebige druckbare Zeichen außer für den Raum
ishexnumber (CH)Jede hexadezimale Ziffer von 0 bis 9 oder A bis F (Ober- orlowercase)
islower (CH)Ein Kleinbuchstabe des Alphabets, ein nach z
ISNUMBER (CH)Sehen isdigit ()
isprint (CH)Jedes Zeichen, die angezeigt werden können, einschließlich der Raum
ispunct (CH)Ein Satzzeichen
isspace (CH)Ein Leerraumzeichen, Leerzeichen, Tabulator, Formularvorschub oder ein Geben Sie zum Beispiel
isupper (CH)Ein Großbuchstaben des Alphabets, EIN nach Z
isxdigit (CH)Sehen ishexnumber ()
FunktionKehrt zurück
toascii (CH)Der ASCII-Wert von ch, im Bereich von 0 bis 127
zu senken(CH)Die Klein Charakter CH
toupper (CH)Die Großbuchstaben des Charakters CH

Im Allgemeinen beginnen die Prüfung Funktionen mit ist, und Konvertierungsfunktionen beginnen mit nach.

Jede CTYPE Funktion akzeptiert einen int-Wert als Argument, durch die Variable repräsentiert CH in den Tabellen 13-1 und 13-2. Diese sind nicht char Funktionen!

Jede CTYPE Funktion gibt einen int-Wert. Für die Funktionen, die logisch WAHR oder FALSCH Werte zurück, FALSE 0, und TRUE ist ein Wert ungleich Null.

Howt Zeichen zu testen

Die CTYPE Funktionen kommen in den meisten praktisch, wenn Eingang Prüfung bestimmt wird, dass die richtigen Informationen eingegeben wurde, oder ziehen erforderlichen Informationen aus Schrott. Der Code in Text Statistik zeigt, wie ein Programm Text scannen kann, auszureißen bestimmte Attribute, und dann eine Zusammenfassung dieser Informationen angezeigt werden soll.

TEXT STATISTIK

# include # include int main () {char Ausdruck [] = "Wenn im Verlauf der menschlichen Ereignisse, wird es notwendig, für ein Volk, die politischen Bande zu lösen, die es mit einem anderen verbunden haben, und unter den Mächten der Erde zu übernehmen die getrennte und gleiche Station die Gesetze der Natur, auf die und von der Natur Gott sie berechtigen, eine anständige Bezug auf die Meinung der Menschheit verlangt, dass sie die Gründe darlegt, die sie an die Trennung veranlassen. "- int index, alpha, blank, punct-alpha = blank = punct = 0 - / * sammeln Daten * / index = 0-while(phrase[index]){if(isalpha(phrase[index]))alpha++-if(isblank(phrase[index]))blank++-if(ispunct(phrase[index]))punct++-index++-}/* Druckergebnisse * / printf ( ""% s " n", eine Phrase) -puts ( "Statistik") - printf ( "% d Buchstaben n", alpha) -printf ( "% d Rohlinge n ", blank) -printf ("% d Satzzeichen n ", punct) -return (0) -}

Text Statistiken kann lange erscheinen, aber es ist nicht- der Phrase [] string bei Line 6 erklärt kann alles, was Sie sein mögen - einen beliebigen Text, ein Gedicht oder ein schmutziges limerick. Es sollte lang genug sein, ein paar Brocken interessante Charaktere zu haben. Beachten Sie, dass, obwohl der Text umbrochen und Einzüge in diesem Text, sollten Sie nur in Ihrem Code eine lange Textzeile eingeben.

Dieser Code auch tut ein Bande Initialisierung:

 alpha = blank = punct = 0-

Da jede dieser Variablen müssen auf 0 gesetzt werden, verwenden Sie mehrere Zuweisungsoperatoren auf der gleichen Linie und erreichen die Aufgabe, auf einen Schlag.

Das Fleisch der Bedienung des Programms erfolgt mit dem Daten Kommentar zu sammeln beginnen. Eine while-Schleife die Schritte durch jedes Zeichen in der Zeichenfolge. Die Bedingung für die while-Schleife ist Ausdruck [index]. Diese Auswertung ist für jedes Zeichen in dem Array mit Ausnahme des letzten einen wahren, das Nullzeichen, die auf FALSE ausgewertet wird und stoppt die Schleife.

CTYPE Funktionen werden verwendet, wenn Aussagen wie jedes Zeichen in den Zeilen ausgewertet wird 17, 19 und 21. In if-else-Tests müssen jedes Zeichen überprüft werden. Wenn eine positive oder TRUE Übereinstimmung gefunden wird, wird eine Zählervariable erhöht.

Übung 1: Geben Sie den Quellcode von Text Statistiken in Ihren Editor. Erstellen und ausführen.

Übung 2: Ändern Sie den Quellcode von Text Statistiken, so dass auch Tests gemacht werden für Groß- und Kleinbuchstaben zu zählen. Zeigen Sie auch diese Ergebnisse.

Übung 3: Fügen Sie den Code in Ihre Lösung 2 zu Übung, so dass eine endgültige Tally aller Zeichen im Text (die Länge des Textes) als die endgültige Statistik angezeigt wird.

Wie Zeichen zu ändern

Die CTYPE Funktionen, die mit zu beginnen, werden verwendet, um Zeichen zu konvertieren. Die häufigste dieser Funktionen sind toupper () und tolower (), die sich als nützlich erweisen, wenn der Eingang zu testen. Als Beispiel betrachten wir die typische yorn Problem, in A Yorn Problem dargestellt.

Ein YORN PROBLEM

# include # include int main () {char Antwort-printf ( "Möchten Sie den Mond zu sprengen so?") -scanf ( "% c", Antwort) Annehmen- = toupper (Antwort) -wenn (Antwort == ' Y ') puts ( "BOOM!") - elseputs ( "Der Mond ist sicher") - return (0) -}

Yorn ist für eine Ja-oder-Nein Situation Programmierer sprechen: Der Benutzer wird aufgefordert, Y für Ja oder N für Nein. Ist die Person Y oder y eingeben eingeben müssen? Oder sie können Typ N oder n oder würde jedes nicht-Y-Taste Nein berücksichtigt werden?

In einer Yorn Problem, Zeile 10 verwendet toupper (), um die Eingabe von Zeichen in Großbuchstaben zu konvertieren. Auf diese Weise, wenn nur eine einzige Bedingung ist erforderlich für Y oder Y-Eingang zu testen.

Übung 4: Erstellen Sie ein neues Projekt mit dem Quellcode in A Yorn Problem gezeigt. Erstellen und ausführen.

Übung 5: Ändern Sie den Quellcode, so dass Text angezeigt wird, wenn der Benutzer weder Y noch N.

Übung 6: Schreiben Sie ein Programm, das alle Großbuchstaben in einer Reihe von Textänderungen in Kleinbuchstaben und ändert die Kleinbuchstaben in Großbuchstaben geschrieben. Zeigen Sie die Ergebnisse.

Menü