>> DAVID Malan: Laten we nu verfijnen dit programma een beetje verder.
Zou het niet mooi zijn als toupper kon kapitaliseren brief als kleine letters, en
zo niet kleine letters, pas het door onveranderd?
Met andere woorden, ik kon vervangen mijn if-else-blok met een
enkele oproep tot toupper?
>> Nou, om deze vraag te beantwoorden, Ik zou best raadplegen
documentatie voor toupper.
Om dit te doen, laat me een grotere terminal te openen raam buiten gedit, en
typ man toupper, waardoor betekent dat ik zou willen openen
zogenaamde man pagina voor de functie toupper.
Bij het slaan Enter, zie ik een scherm als deze.
En nu merken dat ze lijken te hebben combineerde de documentatie voor toupper
bovenkant met die voor tolower.
Maar maakt niet uit.
>> U zult merken onder de samenvatting die Ik moet denken dat, inderdaad, om dit te gebruiken
functie, moet ik ook de header file ctype.h.
Daaronder zie je dat toupper is aangegeven als terugkerende een int en
accepteren van een int, die een beetje nieuwsgierig, want tot nu toe heb ik geweest
manipuleren alleen chars.
Maar dat is OK.
Het blijkt dat dit slechts een conventie, en we kunnen nog steeds gebruik maken van c als
al is het een char, hoewel het is gedeclareerd als een int.
>> Nu, in de beschrijving hier, zie ik dat toupper zet de letter c om
hoofdletters indien mogelijk.
En onder return waarde, zie ik dat de geretourneerde waarde die van de
omgezet letter of c, indien de conversie niet mogelijk.
En er is het inzicht Ik was op zoek naar.
Als c is in feite een kleine brief, het lijkt erop dat toupper zal
simpelweg geeft het door ongewijzigd.
>> Dus laten we nu terugkeren naar mijn code.
En laten we verwijderen nu het geheel van deze voorwaardelijke blok en te vervangen,
heel eenvoudig, met printf% c komma toupper van s beugel i sluiten Paren
dicht Paren puntkomma, waardoor betekent dat ik zou willen% c vervangen
met de kapitalisatie van de et brief in s als de i
letter in s wordt in kleine letters.
Of zelfs als het niet is, zal het doorlopen ongewijzigd.
>> Laten we nu dit programma samen te stellen met maken capitalize2, en voer het uit met
capitalize2, nogmaals, het typen hello.
En inderdaad, krijgen we terug hoofdletters.
Laten we opnieuw typen David.
En het ook een hoofdletter.