DAVID MALAN: Să acum rafina acest program un pic mai departe. Nu ar fi frumos dacă ar putea toupper valorifica o scrisoare dacă litere mici, și dacă nu cu litere mici, pass se prin neschimbat? Cu alte cuvinte, aș putea înlocui mea dacă-altceva bloc cu o apel unic de toupper? 

Ei bine, pentru a răspunde la această întrebare, Mi-ar consulta cel mai bine documentație pentru toupper. Pentru a face acest lucru, permiteți-mi să deschideți un terminal mai mare fereastră în afara de gedit, și apoi tastați man toupper, astfel ceea ce înseamnă că aș dori să deschideți așa-numitul pagina de manual pentru toupper funcție. La apăsarea Enter, văd un ecran ca aceasta. Și acum observați că acestea par să aibă combinate documentația pentru toupper superior cu care pentru tolower. Dar nu contează. 

Veți observa în sinopsis care Îmi aduc aminte că, într-adevăr, pentru a utiliza această funcție, trebuie să includă ctype.h fișier antet. Mai jos că, veți vedea că este toupper a declarat ca revenirea un int și accepta un int, care este un pic curios, din moment ce până acum, am fost manipularea numai caractere. Dar asta e în regulă. Se pare că aceasta este doar o convenție, și putem folosi în continuare c ca deși e un caracter, chiar dacă este declarat ca un întreg. 

Acum, în descrierea de aici, văd că toupper convertește litera c la litere mari, dacă este posibil. Și sub valoarea de returnare, văd că valoarea returnată este cea a scrisoare convertit, sau C, în cazul în care conversie nu a fost posibil. Și nu există o perspectivă Am fost în căutarea pentru. Dacă c nu este, de fapt, un minuscule scrisoare, se pare că va toupper pur și simplu trece de-a lungul neschimbat. 

Deci, haideți acum întoarce la codul meu. Și să scoateți acum totalitatea acest bloc condiționat și înlocuiți-l, destul de simplu, cu printf% c virgulă toupper de s suport i închide paren paren aproape de punct și virgulă, astfel ceea ce înseamnă că aș vrea să înlocuiască% c cu capitalizarea scrisoare-lea în cazul în care s a ia scrisoare în s este litere mici. Sau chiar dacă nu e, aceasta va fi trecut prin neschimbate. 

Hai acum compila acest program cu face capitalize2, și rulați-l cu capitalize2, din nou, tastând salut. Și într-adevăr, ne întoarcem cu majuscule. Hai din nou tip David. Și, de asemenea, este majuscule.