[Powered by Google Translate] [Командната линија аргументи] [Кристофер Вартоломеј - Универзитетот Харвард] [Ова е CS50 - CS50.TV] А корисна карактеристика на програмата е да се прифати корисник влез. Досега, ние сме истражено некои функции во рамките на CS50 библиотека да го прифати корисник влез, како што се "добие стринг" кој поттикнува на корисникот, додека апликацијата е водење, за низа. Сепак, постојат случаи каде што сакате да ја покажете вашата програма влез пред да се всушност работи. На овој начин, вие не треба да побара дополнителни информации од Вашиот корисникот при извршување едноставна задача. Преземе, на пример, mv или преместување команда во UNIX. Оваа команда овозможува на корисникот да преместите датотека од едно место до друго. Според упатството страници, mv прифаќа две командната линија аргументи: на датотеката што се пресели и локацијата на датотеката е преместена. Па овој пример има команда со два аргументи. Така како ние да кажам нашата C програма да ги користат овие командната линија аргументи? Па, излегува дека главните, кои ние ги користиме во сите C програми, има една тајна. Главната прифаќа два параметри: argc и argv. Ајде да одиме во текот на овие термини. Првиот параметар, argc, која се залага за аргумент брои, има податоци за видот на број. На argc параметар содржи број на аргументи, вклучувајќи го и командата. Во нашиот потег команда, иако имаме само два аргументи екранот, вредност argc ќе биде 3. Вториот параметар, argv, која се залага за аргументот за векторот, е низа на знак совети кои укажуваат на жици. Ова значи дека секој елемент во argv, почнувајќи од нула, содржи командата и аргументи. На пример, avg [0], која ќе се однесуваат како argv нула, секогаш ќе содржи командата која се кандидира - во овој случај, mv. avg [1] ќе содржат првиот аргумент, file.txt, и avg [2] ќе содржи вториот аргумент, ~ / cs50 /. Последниот аргумент на argv секогаш ќе биде нула. Значи, да ги имплементираат овие командната линија аргументи. Во претходните вежби, ние сместени празнина, што значи ништо, како параметар главниот е. Меѓутоа, со цел за нас да го користите командната линија аргументи, ние треба да се отстрани неважечки и место во внатрешноста на главниот int argc, char * avg []. Сега, за да пристапите на целата елемент од argv, кои се вашите аргументи, можете едноставно да iterate, или телефонска линија, преку низа допаѓа ова. Значи, во внатрешноста на телото главната е, ние ќе одиме напред и напишете за телефонска линија: за (int i = 0; з . Значи, ајде да ги собере и да ја стартувате и ги обезбеди вистински аргумент. И, како што можеме да видиме, сега имаме точната локација на секој поединец знак на аргумент. Значи тоа е тоа. Јас сум Кристофер Вартоломеј, тоа е CS50. [CS50.TV]