1
00:00:00,000 --> 00:00:00,280

2
00:00:00,280 --> 00:00:02,240
>> DAVID MALAN: Låt oss nu förfina
detta program lite längre.

3
00:00:02,240 --> 00:00:06,510
Skulle det inte vara trevligt om toupper kunde
kapitalisera ett brev om gemener, samt

4
00:00:06,510 --> 00:00:08,880
om inte gemener, pass
det genom oförändrad?

5
00:00:08,880 --> 00:00:12,110
Med andra ord, skulle jag byta ut
min if-else-block med en

6
00:00:12,110 --> 00:00:13,960
enda samtal till toupper?

7
00:00:13,960 --> 00:00:16,000
>> Jo, för att besvara denna fråga,
Jag skulle bäst rådfråga

8
00:00:16,000 --> 00:00:17,630
dokumentation för toupper.

9
00:00:17,630 --> 00:00:22,100
För att göra detta, låt mig öppna en större terminal
fönster utanför gedit och

10
00:00:22,100 --> 00:00:26,060
skriv man toupper och därigenom
vilket innebär att jag vill öppna den

11
00:00:26,060 --> 00:00:29,060
sk manualsidan för
funktionen toupper.

12
00:00:29,060 --> 00:00:31,580
Vid slå in, ser jag
en skärm som den här.

13
00:00:31,580 --> 00:00:34,750
Och nu märker att de verkar ha
kombinerat dokumentationen för toupper

14
00:00:34,750 --> 00:00:37,010
övre med det för tolower.

15
00:00:37,010 --> 00:00:38,010
Men oavsett.

16
00:00:38,010 --> 00:00:41,640
>> Du kommer att märka under synopsis som
Jag påminns om att, ja, för att använda detta

17
00:00:41,640 --> 00:00:45,220
funktion, måste jag inkludera
header-fil ctype.h.

18
00:00:45,220 --> 00:00:49,520
Därunder ser du att toupper är
deklareras som åter en int och

19
00:00:49,520 --> 00:00:52,720
acceptera en int, vilket är lite
nyfiken, eftersom hittills har jag varit

20
00:00:52,720 --> 00:00:54,370
endast manipulera tecken.

21
00:00:54,370 --> 00:00:55,310
Men det är OK.

22
00:00:55,310 --> 00:00:59,070
Det visar sig att detta bara är en
konvent, och vi kan fortfarande använda c som

23
00:00:59,070 --> 00:01:01,990
om det är en röding, även om
det deklareras som en int.

24
00:01:01,990 --> 00:01:05,850
>> Nu, i beskrivningen här, ser jag att
toupper omvandlar bokstaven c till

25
00:01:05,850 --> 00:01:07,980
versaler om möjligt.

26
00:01:07,980 --> 00:01:11,520
Och under returvärde, ser jag att
det returnerade värdet är den med

27
00:01:11,520 --> 00:01:15,320
konverterad bokstav, eller c, om
konvertering inte var möjligt.

28
00:01:15,320 --> 00:01:17,120
Och det finns insikten
Jag letade efter.

29
00:01:17,120 --> 00:01:21,060
Om c är inte, i själva verket, ett gement
brev, verkar det som toupper kommer

30
00:01:21,060 --> 00:01:23,450
helt enkelt sprider den oförändrad.

31
00:01:23,450 --> 00:01:25,750
>> Så låt oss nu återvända till min kod.

32
00:01:25,750 --> 00:01:30,480
Och låt oss nu ta bort helheten av
denna villkorsblocket och ersätta den,

33
00:01:30,480 --> 00:01:40,240
helt enkelt, med printf% c kommatecken
toupper av s fäste jag stänger Paren

34
00:01:40,240 --> 00:01:45,120
close föräldra semikolon, och därigenom
vilket innebär att jag skulle vilja byta ut% c

35
00:01:45,120 --> 00:01:49,050
med aktivering av
: te bokstaven i er om den i: te

36
00:01:49,050 --> 00:01:50,530
brev i s är gemener.

37
00:01:50,530 --> 00:01:53,710
Eller även om det inte är, kommer det att vara
passera genom oförändrad.

38
00:01:53,710 --> 00:01:58,790
>> Låt oss nu kompilera programmet med
göra capitalize2, och kör den med

39
00:01:58,790 --> 00:02:01,800
capitalize2, återigen, att skriva hej.

40
00:02:01,800 --> 00:02:03,800
Och faktiskt, vi får tillbaka versaler.

41
00:02:03,800 --> 00:02:05,090
Låt oss återigen skriver David.

42
00:02:05,090 --> 00:02:06,340
Och det är också versaler.

43
00:02:06,340 --> 00:02:09,380