>> DAVID Malan: Předpokládejme, že bychom chtěli napsat program, který vyzve uživatele
na řetězec a pak zmobilizuje že řetězec.
Dobře, pojďme začít s některými seznámit Kód deklarovat řetězec s názvem s a
přiřazením návrat hodnota GetString.
A pojďme se nyní přistoupit k iteraci znaky v tomto řetězci.
No, jak to udělat, že?
Ukazuje se, že řetězec je jen posloupnost znaků, ale
správně, řetězec je pole znaky, což znamená, že můžeme použít
hranatá závorka zápis do rejstříku do řetězec a dostat na individuální
znaky.
>> Jinými slovy, můžeme postupujte podle následujících pokynů.
Pro int, i dostane 0, a n dostane, říci, délku s použitím
naše funkce [? míchat?]
[? linka,?]
i je menší než n i + +.
Jinými slovy, s této smyčky, se bude iterovat přes všechny n dopisy
v řetězci s..
A v rámci této smyčky, budu zkontrolujte, je-li i-tý znak v s.
větší než nebo rovnající se malá, a i-tý znak je menší než nebo
rovná malá písmena c, pak chci, aby pokračovat využít ten dopis.
Jinými slovy, chci tisknout% c jako zástupný symbol a náhrada v pro
této zástupný symbol s držák i.
>> Ale pak jsem třeba převést s držák i na velká písmena.
Chcete-li to provést, mohu jednoduše odečíst bez ohledu na rozdíl mezi
malá a kapitálu A. No, myslím, vlastně si vzpomínám, že kapitál je
65 v ASCII, a velká 97.
Takže rozdíl je technicky 32.
Tak jsem mohl jen pevný kód 32 zde.
Ale já nemusí nutně Pamatuji si ty čísla.
>> A navíc, co když lišit v závislosti na počítači?
S největší pravděpodobností to nejsou.
Faktem ale zůstává, že mohu ještě zobecnit, že aritmetický výraz
, jak jen to bez ohledu na rozdíl mezi malými písmeny A a kapitálu
je to, co chci odečíst pryč od to zejména malé písmeno.
>> Nyní, pokud tento konkrétní dopis není malá, jsem prostě
chcete vytisknout.
printf,% c jako můj zástupný symbol, s držák i.
Ve spodní části tohoto programu, pojďme jednoduše vytisknout nový řádek, takže my
se zobrazí výzva na nový Řada jeho vlastní.
>> Pojďme se nyní zkompilovat tento program s make capitalize0.
Pojďme spustit s capitalize0.
A pojďme napište slovo, jako ahoj ve všech malými písmeny.
Já se vrátím HELLO velkými písmeny jak se očekávalo.
Ale pojďme zkusit ještě jeden test, tentokrát s mým vlastním jménem, ​​D--V-I-D, ale s
první D aktivovány, pouze v Případ jsem zpackal něco nahoru
s tou první char.
Zadejte, a D--V-I-D velkými písmeny se vytiskne stejně.