[Powered by Google Translate] [Command-Line érvei] [Christopher Bartholomew - Harvard University] [Ez CS50 - CS50.TV] A hasznos funkció a program célja, hogy fogadja el a felhasználó bemenet. Eddig, már feltárt bizonyos funkciók a CS50 könyvtár elfogadni felhasználói bevitel, például "kap string," amely figyelmezteti a felhasználót, miközben az alkalmazás fut, egy string. Vannak azonban olyan esetek, amikor azt szeretnénk, hogy a program input mielőtt azt ténylegesen fut. Így nem kell kérni további adatokat a felhasználói míg a végrehajtó egyszerű feladat. Vegyük például a mv vagy áthelyezni parancs UNIX. Ez a parancs lehetővé teszi a felhasználó számára, hogy mozog egy fájlt egyik helyről a másikra. Szerint a kézikönyv oldalakat, mv fogad 2 parancssori argumentumok: A fájl mozgatása és a helyét a fájl költöztették. Így ez a példa egy parancsot két argumentummal. Szóval hogyan lehet mondjuk a C program kihasználni ezeket a parancssori argumentumok? Nos, kiderült, hogy a legfontosabb, amit használ az összes C program, van egy titka. Main elfogadja két paraméter: argc és argv. Menjünk át ezeket a feltételeket. Az első paraméter argc, amely áll a vita számítanak, egy adattípusa integer. A argc paraméter tartalmazza az argumentumok számát, beleértve a parancsot. A mi move parancs, bár csak két érv jelenik meg, argc értéke 3 lesz. A második paraméter, argv, amely áll a vita vektor, egy tömb char mutatókat, hogy mutassanak szálakat. Ez azt jelenti, hogy minden egyes eleme argv, nullától kezdve tartalmazza a parancsot és érveket. Például, argv [0], amely fogok hivatkozni, mint argv nulla, mindig tartalmazza a parancs éppen fut - ebben az esetben, mv. argv [1] tartalmazza az első érv, file.txt, és argv [2] tartalmazza a második érvet ~ / CS50 /. Az utolsó érve argv mindig null. Szóval végre ezeket a parancssori argumentumok. A korábbi gyakorlatok, mi hozott semmis, vagyis semmit, mint fő a paraméter. Ahhoz azonban, hogy számunkra, hogy parancssori argumentumok, el kell távolítani void helye és belső fő int argc, char * argv []. Most, hogy elérje a teljes elemet argv, amelyek az Ön érveit, egyszerűen navigálhat, vagy hurok, a tömb, mint ez. Szóval, belső fő testén, fogunk menni előre, és írja be a hurok: for (int i = 0; i . Nos, nézzük fordításához és futtatásához, és ez egy valódi érv. És mint látjuk, most már a pontos helyét az egyes char az érvelést. Szóval ennyi. Én Christopher Bartholomew, ez CS50. [CS50.TV]