1 00:00:00,000 --> 00:00:00,280 2 00:00:00,280 --> 00:00:02,240 >> DAVID Malan: Ara anem a refinar aquest programa una mica més lluny. 3 00:00:02,240 --> 00:00:06,510 No seria bo si pogués ToUpper una lletra en majúscules, si minúscula i 4 00:00:06,510 --> 00:00:08,880 si no és en minúscules, passi a través de sense canvis? 5 00:00:08,880 --> 00:00:12,110 En altres paraules, podria reemplaçar el meu if-else bloc amb una 6 00:00:12,110 --> 00:00:13,960 trucada a ToUpper? 7 00:00:13,960 --> 00:00:16,000 >> Bé, per respondre a aquesta pregunta, Serà millor que consultar als 8 00:00:16,000 --> 00:00:17,630 documentació per ToUpper. 9 00:00:17,630 --> 00:00:22,100 Per a això, anem a obrir una terminal més gran fora de la finestra del gedit, i 10 00:00:22,100 --> 00:00:26,060 a continuació, escriviu l'home ToUpper, de manera que el que significa que m'agradaria obrir el 11 00:00:26,060 --> 00:00:29,060 denominada pàgina del manual de la ToUpper funció. 12 00:00:29,060 --> 00:00:31,580 En prémer la tecla Enter, veig una pantalla com aquesta. 13 00:00:31,580 --> 00:00:34,750 I ara compte que sembla que tenen combinat la documentació per ToUpper 14 00:00:34,750 --> 00:00:37,010 superior amb que per tolower. 15 00:00:37,010 --> 00:00:38,010 Però no importa. 16 00:00:38,010 --> 00:00:41,640 >> Es donarà compte de que en virtut de la sinopsi Recordo que, en efecte, per utilitzar aquesta 17 00:00:41,640 --> 00:00:45,220 funció, que ha d'incloure la ctype.h arxiu de capçalera. 18 00:00:45,220 --> 00:00:49,520 A sota d'això, es veu que és ToUpper declarat com tornar un int i 19 00:00:49,520 --> 00:00:52,720 acceptar un int, que és una mica curiós, ja que fins ara, he estat 20 00:00:52,720 --> 00:00:54,370 manipular només caràcters. 21 00:00:54,370 --> 00:00:55,310 Però això està bé. 22 00:00:55,310 --> 00:00:59,070 Resulta que això és només una convenció, i encara podem utilitzar com a c 23 00:00:59,070 --> 00:01:01,990 encara que és un char, tot i que està declarada com int. 24 00:01:01,990 --> 00:01:05,850 >> Ara, en la descripció aquí, veig que ToUpper converteix la lletra c a 25 00:01:05,850 --> 00:01:07,980 majúscules si és possible. 26 00:01:07,980 --> 00:01:11,520 I baix valor de retorn, veig que el valor retornat és el de la 27 00:01:11,520 --> 00:01:15,320 carta convertida, oc, si el conversió no era possible. 28 00:01:15,320 --> 00:01:17,120 I aquí hi ha la visió Que estava buscant. 29 00:01:17,120 --> 00:01:21,060 Si c no és, de fet, una minúscula carta, sembla que ToUpper 30 00:01:21,060 --> 00:01:23,450 simplement passar-ho endavant sense canvis. 31 00:01:23,450 --> 00:01:25,750 >> Així que ara anem a tornar al meu codi. 32 00:01:25,750 --> 00:01:30,480 I ara anem a eliminar la totalitat de aquest bloc condicional i reemplaçar, 33 00:01:30,480 --> 00:01:40,240 simplement, amb printf% c comes ToUpper de s abraçadora tanco parin 34 00:01:40,240 --> 00:01:45,120 prop parin punt i coma, per tant el que significa que m'agradaria reemplaçar% c 35 00:01:45,120 --> 00:01:49,050 amb la capitalització de la èsima lletra en si si la i-èsima 36 00:01:49,050 --> 00:01:50,530 carta de s està en minúscules. 37 00:01:50,530 --> 00:01:53,710 O fins i tot si no ho és, serà passat a través de sense canvis. 38 00:01:53,710 --> 00:01:58,790 >> Ara anem a compilar aquest programa amb fer capitalize2, i executar-lo amb 39 00:01:58,790 --> 00:02:01,800 capitalize2, de nou, en escriure hola. 40 00:02:01,800 --> 00:02:03,800 I, en efecte, tornem majúscules. 41 00:02:03,800 --> 00:02:05,090 Anem de nou Tipus David. 42 00:02:05,090 --> 00:02:06,340 I és, també, és majúscula. 43 00:02:06,340 --> 00:02:09,380