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

2
00:00:00,280 --> 00:00:02,240
>> DAVID MALAN: La oss nå avgrense
dette programmet litt lenger.

3
00:00:02,240 --> 00:00:06,510
Ville det ikke vært fint hvis toupper kunne
en stor bokstav hvis små bokstaver, og

4
00:00:06,510 --> 00:00:08,880
hvis ikke små bokstaver, pass
det gjennom uendret?

5
00:00:08,880 --> 00:00:12,110
Med andre ord, kan jeg erstatte
min if-else-blokken med en

6
00:00:12,110 --> 00:00:13,960
eneste samtale til toupper?

7
00:00:13,960 --> 00:00:16,000
>> Vel, for å svare på dette spørsmålet,
Jeg hadde beste konsultere

8
00:00:16,000 --> 00:00:17,630
dokumentasjon for toupper.

9
00:00:17,630 --> 00:00:22,100
For å gjøre dette, la meg åpne en større terminal
vindu utenfor gedit, og

10
00:00:22,100 --> 00:00:26,060
deretter skriver mannen toupper, og dermed
som betyr at jeg ønsker å åpne den

11
00:00:26,060 --> 00:00:29,060
såkalt man-siden for
funksjonen toupper.

12
00:00:29,060 --> 00:00:31,580
Ved treffer Enter, ser jeg
en skjerm som dette.

13
00:00:31,580 --> 00:00:34,750
Og nå merker at de synes å ha
kombinert dokumentasjonen for toupper

14
00:00:34,750 --> 00:00:37,010
øvre med at for tolower.

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

16
00:00:38,010 --> 00:00:41,640
>> Du vil merke under synopsis at
Jeg minnes at, ja, til å bruke denne

17
00:00:41,640 --> 00:00:45,220
funksjon, må jeg ta med
header-fil ctype.h.

18
00:00:45,220 --> 00:00:49,520
Under det, ser du at toupper er
erklært som returnerer en int og

19
00:00:49,520 --> 00:00:52,720
akseptere en int, som er litt
nysgjerrig, siden så langt, jeg har vært

20
00:00:52,720 --> 00:00:54,370
bare manipulere tegn.

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

22
00:00:55,310 --> 00:00:59,070
Det viser seg at dette bare er en
konvensjonen, og vi kan fortsatt bruke c som

23
00:00:59,070 --> 00:01:01,990
om det er en røye, selv om
det er erklært som en int.

24
00:01:01,990 --> 00:01:05,850
>> Nå, i beskrivelsen her, ser jeg at
toupper konverterer bokstaven c til

25
00:01:05,850 --> 00:01:07,980
store bokstaver hvis mulig.

26
00:01:07,980 --> 00:01:11,520
Og under returverdi, ser jeg at
verdien returneres, er det av

27
00:01:11,520 --> 00:01:15,320
konverterte brev, eller c, dersom
konvertering var ikke mulig.

28
00:01:15,320 --> 00:01:17,120
Og det er den innsikt
Jeg var ute etter.

29
00:01:17,120 --> 00:01:21,060
Hvis c er ikke, faktisk, en med små bokstaver
brev, virker det som toupper vil

30
00:01:21,060 --> 00:01:23,450
bare sende det sammen uendret.

31
00:01:23,450 --> 00:01:25,750
>> Så la oss nå gå tilbake til min kode.

32
00:01:25,750 --> 00:01:30,480
Og la oss nå ta helheten av
dette betinget blokk og erstatte den,

33
00:01:30,480 --> 00:01:40,240
ganske enkelt, med printf% c komma
toupper av s brakett jeg lukker paren

34
00:01:40,240 --> 00:01:45,120
nære paren semikolon, og dermed
som betyr at jeg ønsker å erstatte% c

35
00:01:45,120 --> 00:01:49,050
med kapitaliseringen av
ith brev i s hvis ith

36
00:01:49,050 --> 00:01:50,530
brev i s er små bokstaver.

37
00:01:50,530 --> 00:01:53,710
Eller selv om det ikke er det, vil det være
gått gjennom uendret.

38
00:01:53,710 --> 00:01:58,790
>> La oss nå kompilere dette programmet med
gjøre capitalize2, og kjøre den med

39
00:01:58,790 --> 00:02:01,800
capitalize2, igjen, å skrive hei.

40
00:02:01,800 --> 00:02:03,800
Og ja, vi kommer tilbake med store bokstaver.

41
00:02:03,800 --> 00:02:05,090
La oss igjen skriver David.

42
00:02:05,090 --> 00:02:06,340
Og det også er store bokstaver.

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