>> DAVID Malan: Predpokladajme, že by sme chceli napísať program, ktorý vyzve užívateľa
na reťazec a potom zmobilizuje že reťazec.
Dobre, poďme začať s niektorými zoznámiť Kód deklarovať reťazec s názvom s a
priradením návrat hodnota GetString.
A poďme sa teraz pristúpiť k iterácii znaky v tomto reťazci.
No, ako to urobiť, že?
Ukazuje sa, že reťazec je len postupnosť znakov, ale
správne, reťazec je pole znaky, čo znamená, že môžeme použiť
hranatá zátvorka zápis do registra do reťazec a dostať na individuálne
znaky.
>> Inými slovami, môžeme postupujte podľa nasledujúcich pokynov.
Pre int, aj dostane 0, a n dostane, povedať, dĺžku s použitím
naša funkcia [? miešať?]
[? linka,?]
i je menšie ako n i + +.
Inými slovami, s tejto slučky, sa bude iterovat cez všetky n listy
v reťazci s.
A v rámci tejto slučky, budem skontrolujte, ak je i-ty znak v s
väčšie ako alebo rovnajúcu sa malá, a i-ty znak je menší ako alebo
rovná malé písmená c, potom chcem, aby pokračovať využiť ten list.
Inými slovami, chcem tlačiť% c ako zástupný symbol a náhrada v pre
tejto zástupný symbol s držiak i
>> Ale potom som potrebné previesť s držiak aj na veľké písmená.
Ak to chcete vykonať, môžem jednoducho odčítať bez ohľadu na rozdiel medzi
malá a kapitálu A. No, myslím, vlastne si spomínam, že kapitál je
65 v ASCII, a veľká 97.
Takže rozdiel je technicky 32.
Tak som mohol len pevný kód 32 tu.
Ale ja nemusí nutne Pamätám si tie čísla.
>> A navyše, čo keď líšiť v závislosti na počítači?
S najväčšou pravdepodobnosťou to nie sú.
Faktom ale zostáva, že môžem ešte zovšeobecniť, že aritmetický výraz
, Ako len to bez ohľadu na rozdiel medzi malými písmenami A a kapitálu
je to, čo chcem odpočítať preč od to najmä malé písmeno.
>> Teraz, ak tento konkrétny list nie je malá, som jednoducho
chcete vytlačiť.
printf,% c ako môj zástupný symbol, s držiak i
V spodnej časti tohto programu, poďme jednoducho vytlačiť nový riadok, takže my
sa zobrazí výzva na nový Rad jeho vlastné.
>> Poďme sa teraz skompilovať tento program s make capitalize0.
Poďme spustiť s capitalize0.
A poďme napíšte slovo, ako ahoj vo všetkých malými písmenami.
Ja sa vrátim HELLO veľkými písmenami ako sa očakávalo.
Ale poďme skúsiť ešte jeden test, tentoraz s mojím vlastným menom, D - V-I-D, ale s
prvý D aktivované, iba v Prípad som spackal niečo hore
s tou prvou char.
Zadajte, a D - V-I-D veľkými písmenami sa vytlačí rovnako.