[Powered by Google Translate] [Kmand-Line argumenti] [Christopher Bartholomew - Università ta 'Harvard] [Dan huwa CS50 - CS50.TV] Karatteristika utli għal programm huwa li jaċċetta input utent. S'issa, aħna ve esplorati xi funzjonijiet fi ħdan l-librerija CS50 li taċċetta input utent, bħal "nikseb string," li tinkoraġġixxi l-utent, filwaqt li l-applikazzjoni tkun qed taħdem, għal string. Madankollu, hemm każijiet fejn inti tixtieq li jipprovdu input program tiegħek qabel ma attwalment taħdem. Dan il-mod, inti m'għandekx bżonn li tintalab informazzjoni addizzjonali mill-utent tiegħek filwaqt li jesegwixxi xogħol sempliċi. Ħu, per eżempju, l-mv jew kmand jiċċaqalqu fil UNIX. Dan il-kmand jippermetti lill-utent biex jimxu fajl minn post għall-ieħor. Skond il-paġni manwali, mv taċċetta żewġ argumenti kmand tal-linja: il-fajl li qed jiġi mċaqlaq u l-post l-fajl qiegħed jiġi mċaqlaq għal. Allura dan l-eżempju għandu kmand ma 'żewġ argumenti. Allura kif nistgħu tell-programm C tagħna biex tutilizza dawn l-argumenti kmand tal-linja? Ukoll, jirriżulta li prinċipali, li nużaw fil-programmi Ċ, għandha sigriet. Main taċċetta żewġ parametri: argc u ARGV. Ejja jmorru fuq dawn it-termini. Il-parametru 1, argc, li stands għall-għadd argument, għandu tip ta 'dejta ta' numru sħiħ. Il-parametru argc fih in-numru ta 'argumenti, inkluż il-kmand. Fl-kmand jiċċaqalqu tagħna, għalkemm aħna biss għandna żewġ argumenti murija, valur argc se jkun 3. It-tieni parametru, ARGV, li stands għall vector argument, huwa firxa ta 'indikaturi char li jindikaw kordi. Dan ifisser li kull element fil ARGV, li jibda minn żero, fih il-kmand u l-argumenti. Per eżempju, ARGV [0], li jien ser nirreferi għalih bħala ARGV żero, dejjem se jkun fiha l-kmand li qed titmexxa - f'dan il-każ, mv. ARGV [1] għandu jkun fiha l-argument, file.txt 1, u ARGV [2] għandu jkun fiha t-tieni argument, ~ / cs50 /. L-aħħar argument tal ARGV dejjem se jkun null. Mela ejja jimplimentaw dawn l-argumenti kmand tal-linja. Fil eżerċizzji preċedenti, aħna mqiegħda null, jiġifieri xejn, bħala parametru ewlieni tal-. Madankollu, sabiex għalina biex jużaw kmand tal-linja l-argumenti, għandna bżonn li jitneħħew null u l-post ġewwa tal int prinċipali argc, char * ARGV []. Issa, għall-aċċess għall-element kollu mill ARGV, li huma argumenti tiegħek, inti tista 'sempliċement jtenni, jew loop, permezz tal-firxa bħal din. Għalhekk, ġewwa ta 'korp ewlieni, aħna qed tmur biex jimxi' l quddiem u t-tip ta 'għal loop: għal (i int = 0; i . Allura, ejja jikkompilaw u run u jipprovdiha argument attwali. U, kif nistgħu naraw, issa għandna l-post eżatt ta 'kull char individwali fil-argument. Allura dak li. Jien Christopher Bartholomew; dan huwa CS50. [CS50.TV]