command line arguments c
En kort introduktion til kommandolinjeargumenter i C ++.
Vi har allerede set brugen af argumenter eller parametre i vores tutorial om funktioner. Vi lærte også formålet med at videregive argumenter til / fra funktioner.
Vi kan også få argumenter sendt til hovedfunktionen. Disse er igen kendt som 'Kommandolinjeargumenter eller kommandolinjeparametre'.
=> Tjek her for at se AZ af C ++ træningsvejledninger her.
Hvad du vil lære:
- Hvad er kommandolinjeargumenter?
- Sådan læses / hentes kommandolinjeargumenter?
- Konklusion
- Anbefalet læsning
Hvad er kommandolinjeargumenter?
Vi kender den grundlæggende prototype af hovedfunktionen i C ++. Den har normalt returtypen som int, og ingen argumenter sendes til den.
arrays og funktioner c ++
int main()
Vi kan dog også overføre argumenter til hovedfunktionen i C ++, der er kendt som kommandolinjeargumenter. Kommandolinjeargumenter gives efter navnet på programmet under udførelsen af programmet i en kommandolinjeskal.
For at overføre kommandolinjeargumenter videregives hovedfunktionen med to argumenter. Prototypen på hovedfunktionen skifter derefter til
int main(int argc, char* argv()){}
ELLER
int main(int argc, char** argv){}
De to argumenter er beskrevet nedenfor:
# 1) Argumentantal (ARGC)
Dette er et ikke-negativt helargument, der indeholder antallet af kommandolinjeargumenter inklusive programnavnet. Således hvis bestået et programnavn er bestået, vil argc have værdien 1.
# 2) Argumentvektor (ARGV)
Argv er en række tegnmarkører, der indeholder alle kommandolinjeargumenter, der sendes til hovedfunktionen. Hvis ARGC er større end nul, vil Argv (0) indeholde programmets navn. Argv (1) til argv (argc -1) indeholder de andre kommandolinjeargumenter.
Sådan læses / hentes kommandolinjeargumenter?
Efter at have set de parametre, der indeholder antal og faktiske kommandolinjeargumenter, lad os se, hvordan vi kan bruge kommandolinjeargumenter i et C ++ - program.
Bemærk, at vi skal køre programmet fra kommandolinjeskallen for at få den fulde funktionalitet af kommandolinjeargumenter.
Lad os først se output af programmet, hvor vi ikke angiver nogen kommandolinjeargumenter.
#include using namespace std; int main(int argc, char** argv) { cout << 'Number of command line arguments (argc) entered: ' << argc<Ovenstående kodeeksempel viser, hvordan vi kan læse og analysere kommandolinjeargumenterne.
hvordan man ser .bin-filer
Først udskriver vi antallet af kommandolinjeargumenter, som direkte gives af den første parameter til hovedfunktionen, argc. Derefter bruger vi til loop, og vi går gennem argumentvektoren argc, som er et tegnarray.
Denne sløjfe løber fra 0 til argc, da argc er det samlede antal kommandolinjeargumenter, der blev sendt til programmet under udførelse.
Nu udfører vi ovenstående program,
# 1) Uden at passere kommandolinjeargumenter.
I dette tilfælde udfører vi ovenstående program ved hjælp af følgende kommando:
$ ./a.out
Her udfører vi simpelthen programmet uden kommandolinjeargumenter. Outputtet er vist nedenfor. I dette tilfælde, da der ikke tilvejebringes argumenter, tages kun programnavnet, og argc viser 1, som er argv (0), der er programnavnet.
Produktion:
Antal indtastede kommandolinjeargumenter (argc): 1
argv (0): ./a.out
# 2) Passering af tre kommandolinjeargumenter
I dette tilfælde sender vi tre argumenter til kommandolinjen ved at give følgende kommando.
$ ./a.out one two three
Her har vi givet tre kommandolinjeargumenter.
Når vi udfører ovenstående program med disse argumenter, får vi følgende output.
Antal indtastede kommandolinjeargumenter (argc): 4
hvad du ser er, hvad du får website builder
argv (0): ./a.out
argv (1): en
argv (2): to
argv (3): tre
Ovenstående output viser argc-værdi som 4. Dette inkluderer programnavnet og de tre argumenter, som vi indtastede på kommandolinjen. Hvis vi ser argv-arrayet, som vi udskriver, er argv (0) programnavnet, og de efterfølgende array-elementer indeholder de tre argumenter, vi har bestået.
Punkter at huske
- I kommandolinjeargumenter er argv (argc) en NULL-markør.
- Argv (0) har altid programnavnet.
- Argv (1) holder det første kommandolinjeargument, mens argv (n) er det sidste kommandolinjeargument.
- Kommandolinjeargumenter videregives til hovedfunktionen.
- Vi skal sende kommandolinjeargumenter, når programmet påberåbes eller udføres.
- Kommandolinjeargumenter styrer programmet udefra, når vi sender argumenterne gennem kommandolinjen.
Konklusion
I denne vejledning har vi set kommandolinjeargumenterne for C ++.
Disse er virkelig nyttige, når vi skal styre programmet eksternt. Også i stedet for hardcoding af nogle værdier i programmet kan vi bruge kommandolinjeargumenter til at overføre disse værdier.
=> Tjek den komplette C ++ træningsserie her.
Anbefalet læsning
- Kommandolinjeargumenter i Unix Shell Script med eksempel
- Klip kommando i Unix med eksempler
- Unix Cat Command Syntax, indstillinger med eksempler
- Ls Command i Unix med eksempler
- Grep Command i Unix med enkle eksempler
- Unix sorteringskommando med syntaks, indstillinger og eksempler
- Tjærekommando i Unix for at oprette sikkerhedskopier (eksempler)
- Bedste GRATIS C # tutorialsserie: Den ultimative C # guide til begyndere