1 00:00:00,000 --> 00:00:00,280 2 00:00:00,280 --> 00:00:02,240 >> DAVID MALAN: Lassen Sie uns jetzt zu verfeinern dieses Programm ein bisschen weiter. 3 00:00:02,240 --> 00:00:06,510 Wäre es nicht schön, wenn toupper konnte Großschreibung eines Buchstabens, wenn Kleinbuchstaben und 4 00:00:06,510 --> 00:00:08,880 wenn nicht Kleinbuchstaben, Pass es unverändert durch? 5 00:00:08,880 --> 00:00:12,110 Mit anderen Worten, könnte ich ersetzen meine if-else-Block mit ein 6 00:00:12,110 --> 00:00:13,960 einzigen Aufruf ToUpper? 7 00:00:13,960 --> 00:00:16,000 >> Nun, um diese Frage zu beantworten, Ich würde am besten beraten die 8 00:00:16,000 --> 00:00:17,630 Dokumentation für toupper. 9 00:00:17,630 --> 00:00:22,100 Um dies zu tun, lassen Sie mich ein größeres Terminal öffnen Fenster außerhalb von gedit und 10 00:00:22,100 --> 00:00:26,060 geben Sie dann Mann toupper, wodurch was bedeutet, dass ich würde gerne öffnen 11 00:00:26,060 --> 00:00:29,060 sogenannten man-Seite die Funktion toupper. 12 00:00:29,060 --> 00:00:31,580 Nach Drücken der Eingabetaste, sehe ich ein Bildschirm wie dieser. 13 00:00:31,580 --> 00:00:34,750 Und jetzt merken, dass sie zu haben scheinen, kombiniert die Dokumentation für toupper 14 00:00:34,750 --> 00:00:37,010 Obermaterial mit, dass für tolower. 15 00:00:37,010 --> 00:00:38,010 Aber egal. 16 00:00:38,010 --> 00:00:41,640 >> Sie werden im Rahmen der Zusammenschau feststellen, dass Ich werde daran erinnert, dass in der Tat, diese zu verwenden 17 00:00:41,640 --> 00:00:45,220 Funktion muss I die Header-Datei ctype.h. 18 00:00:45,220 --> 00:00:49,520 Darunter sehen Sie, dass toupper ist als einen int deklariert und 19 00:00:49,520 --> 00:00:52,720 Annahme eines int, die ein Bit neugierig, denn bisher habe ich in der 20 00:00:52,720 --> 00:00:54,370 nur die Manipulation Zeichen. 21 00:00:54,370 --> 00:00:55,310 Aber das ist OK. 22 00:00:55,310 --> 00:00:59,070 Es stellt sich heraus, dass dies nur ein Konvention, und wir können immer noch als c 23 00:00:59,070 --> 00:01:01,990 aber es ist ein Zeichen, auch wenn es als int deklariert. 24 00:01:01,990 --> 00:01:05,850 >> Jetzt, in der Beschreibung hier sehe ich, dass ToUpper den Brief wandelt c, um 25 00:01:05,850 --> 00:01:07,980 Großbuchstaben, wenn möglich. 26 00:01:07,980 --> 00:01:11,520 Und unter Rückgabewert, sehe ich, dass der zurückgegebene Wert ist, dass der 27 00:01:11,520 --> 00:01:15,320 konvertierten Buchstaben oder c, wenn die Umwandlung nicht möglich war. 28 00:01:15,320 --> 00:01:17,120 Und da ist die Einsicht, Ich suchte. 29 00:01:17,120 --> 00:01:21,060 Wenn C nicht in der Tat eine Klein Brief, scheint es, dass toupper wird 30 00:01:21,060 --> 00:01:23,450 einfach geben sie unverändert. 31 00:01:23,450 --> 00:01:25,750 >> Also lassen Sie uns nun zu meiner Code zurück. 32 00:01:25,750 --> 00:01:30,480 Und lassen Sie uns nun die Gesamtheit entfernen Diese Bedingungsblock und ersetzen Sie es, 33 00:01:30,480 --> 00:01:40,240 ganz einfach, mit printf% c Komma toupper von s i Konsole schließen paren 34 00:01:40,240 --> 00:01:45,120 close paren Semikolon, wodurch was bedeutet, dass ich möchte% c ersetzen 35 00:01:45,120 --> 00:01:49,050 mit der Aktivierung von der ith Brief in s, wenn das i-te 36 00:01:49,050 --> 00:01:50,530 Brief in s Kleinbuchstaben. 37 00:01:50,530 --> 00:01:53,710 Oder auch wenn es nicht ist, wird es unverändert durchgelassen. 38 00:01:53,710 --> 00:01:58,790 >> Lassen Sie uns nun dieses Programm mit kompilieren capitalize2 machen, und führen Sie es mit 39 00:01:58,790 --> 00:02:01,800 capitalize2 wieder eingeben hallo. 40 00:02:01,800 --> 00:02:03,800 Und in der Tat, bekommen wir Großbuchstaben. 41 00:02:03,800 --> 00:02:05,090 Versuche es noch geben David. 42 00:02:05,090 --> 00:02:06,340 Und es ist auch in Großbuchstaben. 43 00:02:06,340 --> 00:02:09,380