[Powered by Google Translate] [Komando-lerroko argumentuak] [Christopher Bartolomé - Harvard Unibertsitatea] [- CS50.TV CS50 da] Ezaugarri erabilgarria da programa bat user input onartu. Beraz, oraingoz, esploratu dugu zenbait funtzio CS50 liburutegi barruan erabiltzailearen sarrera onartu, esate baterako, "katea" Erabiltzaile eskatuz, aplikazioa exekutatzen ari den bitartean, kate bat. Hala eta guztiz ere, ez dira kasu non eman nahi duzu zure programa sarrera da benetan aurretik exekutatzen ari da. Horrela, behar ez baduzu, zure erabiltzaile-informazio gehigarria eskatu exekutatzean erraza. Hartu, adibidez, UNIX komando mv edo mugitu. Komando honek fitxategi bat kokapen batetik bestera mugitzeko aukera ematen dio erabiltzaileari. Eskuzko orrien arabera, mv bi komando-lerroko argumentu onartzen ditu: fitxategia mugitu ari den eta kokapena fitxategi ari da mugitu. Beraz, adibide honetan bi argumentuak komando bat dauka. Beraz, nola ez, gure C programa esango dugu, komando-lerroko argumentu horiek erabili ahal izateko? Beno, bihurtzen da nagusia, C programa guztietan erabiltzen dugu, sekretu bat du. Main bi parametro onartzen ditu: argc eta argv. Dezagun baldintza hauetan. Lehenengo parametroa, argc, argumentu Aldaketa dago, guztia datu mota bat du. Argc parametroak argumentu kopurua, komando hau barne. Gure mugimendua komandoa, besterik ez dugu, nahiz eta bi argumentu hartzen ditu "bistaratuko, argc balioa 3 izango da. Bigarren parametroa, argv, bektorearen argumentuan dago, kateak seinalatu erakusleak char array bat da. Horrek esan nahi du argv elementu bakoitzean, zero hasita, komandoa eta argumentuak ez dauka. Esate baterako, argv [0], argv zero jo dut erreferentzia, beti izango du ari den komandoa exekutatu Kasu honetan, mv. argv [1] Lehen argumentua, file.txt edukiko du, eta argv [2] bigarren argumentua edukiko du, ~ / cs50 /. Argv azken argumentua null izango da beti. Beraz, dezagun komando-lerroko argumentu horiek ezartzeko. Ariketak aurreko, void jarri dugu, ez da ezer zentzua, nagusia bere parametro gisa. Dena den, komando-lerroko argumentuak erabili, void eta leku nagusia int argc, char * argv [] barrutik kendu behar dugu. Orain, argv elementu osoa, zure argumentuak diren sartzeko, nahikoa duzu batetik bestera joateko, edo begizta hau atsegin array bidez. Beraz, nagusia gorputzaren barruan, aurrera joan eta idatzi begizta ari gara: for (int i = 0; i . Beraz, dezagun konpilatu eta exekutatu eta benetako argumentu bat ematen. Eta, ikusiko dugun bezala, gaur egun bakoitzak karakterra argumentua kokapena zehatza. Beraz, hori da. Christopher Bartolomé naiz, hau da, CS50. [CS50.TV]