[Powered by Google Translate] [Command-line argumenten] [Christopher Bartholomeus - Harvard University] [Dit is CS50 - CS50.TV] Een handige functie voor een programma is om te accepteren input van de gebruiker. Tot nu toe hebben we verkend enkele functies binnen de CS50 bibliotheek om invoer van de gebruiker, zoals accepteren "get string," die vraagt ​​de gebruiker, terwijl de toepassing wordt uitgevoerd, voor een string. Er zijn echter gevallen waarin u uw programma input te leveren voordat het daadwerkelijk draait. Op deze manier hoeft u niet om aanvullende informatie te vragen bij uw gebruiker tijdens het uitvoeren van een eenvoudige taak. Neem, bijvoorbeeld, de mv of verplaatsen commando in UNIX. Dit commando kan de gebruiker een bestand verplaatst van een locatie naar de andere. Volgens de manual pagina's, mv accepteert twee argumenten op de opdrachtregel het bestand dat wordt verplaatst en de locatie van het bestand wordt verplaatst naar. Dus dit voorbeeld heeft een opdracht met twee argumenten. Dus hoe vertellen we onze C-programma om deze command-line argumenten te gebruiken? Nou, het blijkt dat de belangrijkste, die we gebruiken in alle C-programma's, een geheim heeft. Belangrijkste accepteert twee parameters: argc en argv. Laten we gaan over deze voorwaarden. De eerste parameter, argc, wat staat voor argument tellen, een gegevenstype integer. De argc parameter bevat het aantal argumenten, met inbegrip van de opdracht. In onze verhuizing commando, hoewel we alleen hebben twee argumenten weergegeven, argc waarde zal 3. De tweede parameter, argv, wat staat voor argument vector, is een array van char pointers die wijzen op strings. Dit betekent dat elk element in argv, beginnend bij nul, bevat de opdracht en argumenten. Bijvoorbeeld, argv [0], die ik zal aanduiden als argv nul, bevat altijd de opdracht die wordt uitgevoerd - in dit geval mv. argv [1] bevat het eerste argument, bestand.txt, en argv [2] zal het tweede argument bevat, ~ / CS50 /. De laatste argument van argv altijd null. Dus laten we de uitvoering van deze command-line argumenten. In de vorige oefeningen, plaatsten we leegte, wat betekent niets, als parameter de belangrijkste is. Echter, om voor ons om command-line argumenten te gebruiken, we moeten vervallen en plaats binnen van de belangrijkste int argc, char * argv [] te verwijderen. Nu, om de hele element argv, die zijn uw argumenten te openen, u kunt gewoon herhalen, of lus, door middel van de array als deze. Dus, de binnenkant van het lichaam de belangrijkste is, we gaan om verder te gaan en een type voor lus: for (int i = 0; i . Dus, laten we samen te stellen en uit te voeren en verstrekt haar een echte argument. En, zoals we kunnen zien, hebben we nu de exacte locatie van elk individu char in het argument. Dus dat is het. Ik ben Christopher Bartholomeus, dit is CS50. [CS50.TV]