[Powered by Google Translate] [Příkazového řádku Argumenty] [Christopher Bartoloměje - Harvard University] [To je CS50 - CS50.TV] Užitečná funkce pro program je přijmout vstup od uživatele. Dosud jsme prozkoumali některé funkce v rámci CS50 knihovně přijímat vstup uživatele, jako je například "dostat řetězec," které vyzve uživatele, zatímco je aplikace spuštěna, pro řetězec. Nicméně, existují případy, kdy chcete, aby váš program vstup předtím, než je ve skutečnosti běží. Tímto způsobem, nemusíte se ptát další informace z vašeho uživatele Při provádění jednoduchý úkol. Vezměme si například, MV nebo přesunout příkaz v UNIXu. Tento příkaz umožňuje uživateli přesunout soubor z jednoho místa na druhé. Podle manuálových stránek, mv přijímá dva argumenty příkazového řádku: soubor, který se přesouvá a umístění souboru je přesunuta do. Takže tento příklad má příkaz se dvěma argumenty. Tak jak jsme se říci, náš C program využít tyto argumenty příkazového řádku? No, ukázalo se, že hlavní, které používáme ve všech programech C, má nějaké tajemství. Hlavní přijímá dva parametry: argc a argv. Pojďme nad těmito podmínkami. První parametr, argc, což je zkratka pro počet argumentů, má datový typ integer. The argc parametr obsahuje počet argumentů, včetně příkazu. V našem pohybu příkazu, i když máme jen dva argumenty zobrazí, argc je hodnota bude 3. Druhý parametr, argv, což je zkratka pro argumentu vektoru, je pole char ukazatelů, které ukazují na řetězce. To znamená, že každý prvek v argv, počínaje od nuly, obsahuje příkaz a argumenty. Například, argv [0], které budu odkazovat jako argv nulové, bude vždy obsahovat příkaz, který je spuštěn - v tomto případě, mv. argv [1] bude obsahovat první argument, soubor.txt, a argv [2] bude obsahovat druhý argument, ~ / cs50 /. Poslední argument argv bude vždy null. Takže pojďme zavést tyto argumenty příkazového řádku. V předchozích cvičeních, jsme umístili neplatné, což znamená, nic, je jako parametr hlavní je. Aby se však pro nás používat argumenty příkazového řádku, musíme odstranit neplatné a místo uvnitř hlavního int argc, char * argv []. Nyní, přístup na celý prvek z argv, které jsou vaše argumenty, můžete jednoduše iteraci, nebo smyčka, přes pole, jako je to. Takže, uvnitř těla hlavních je, že budeme pokračovat a zadejte pro smyčce: for (int i = 0; i . Takže, pojďme kompilovat a spouštět, a poskytne mu skutečnou argumentaci. A jak vidíme, máme nyní přesnou polohu jednotlivých char v argumentu. Tak to je to. Jsem Christopher Bartoloměj, to je CS50. [CS50.TV]