Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Commandoregel Argumenten in C: Een Praktische Gids

Het is mogelijk om sommige waarden van de commandoregel door te geven aan je C-programma's wanneer ze uitgevoerd worden. Deze waarden heten commandoregel argumenten en vaak zijn ze belangrijk voor je programma, vooral als je je programma van buitenaf wilt besturen in plaats van die waarden hard te coderen in de code.

De commandoregel argumenten worden afgehandeld met main() functie argumenten waar argc verwijst naar het aantal doorgegeven argumenten, en argv[] een pointer array is die naar elk argument wijst dat aan het programma doorgegeven is. Hieronder volgt een eenvoudig voorbeeld dat controleert of er een argument van de commandoregel is geleverd en daarvoor actie onderneemt:

#include <stdio.h>
int main( int argc, char *argv[] ) {
    if( argc == 2 ) {
        printf("Het geleverde argument is %s\n", argv[1]);
    } else if( argc > 2 ) {
        printf("Te veel argumenten geleverd.\n");
    } else {
        printf("Eén argument verwacht.\n");
    }
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd met één argument, produceert het het volgende resultaat.

$./a.out testen
Het geleverde argument is testen

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd met twee argumenten, produceert het het volgende resultaat.

$./a.out testen1 testen2
Te veel argumenten geleverd.

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd zonder enig argument door te geven, produceert het het volgende resultaat.

$./a.out
Eén argument verwacht

Het moet opgemerkt worden dat argv[0] de naam van het programma zelf bevat en argv[1] een pointer is naar het eerste commandoregel argument geleverd, en *argv[n] is het laatste argument. Als geen argumenten geleverd worden, zal argc één zijn, en als je één argument doorgeeft dan is argc ingesteld op 2.

Je geeft alle commandoregel argumenten gescheiden door een spatie, maar als een argument zelf een spatie heeft, kun je dergelijke argumenten doorgeven door ze binnen dubbele quotes "" of enkele quotes '' te zetten. Laten we het bovenstaande voorbeeld nog eens herschrijven waar we de programminaam printen en we geven ook een commandoregel argument door door het binnen dubbele quotes te zetten:

#include <stdio.h>
int main( int argc, char *argv[] ) {
    printf("Programmanaam %s\n", argv[0]);
    if( argc == 2 ) {
        printf("Het geleverde argument is %s\n", argv[1]);
    } else if( argc > 2 ) {
        printf("Te veel argumenten geleverd.\n");
    } else {
        printf("Eén argument verwacht.\n");
    }
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd met een enkel argument gescheiden door een spatie maar binnen dubbele quotes, produceert het het volgende resultaat.

$./a.out "testen1 testen2"
Programmanaam ./a.out
Het geleverde argument is testen1 testen2

C Taal

  1. Precisie Slitting Lijnen: Geavanceerde Geautomatiseerde Rol Snijden Voor Exacte Breedtes
  2. Optimaliseren van Chemische Verpakkingslijnen: Upgrades voor Uptime & OEE Tracking
  3. Decoders Begrijpen: Types, Waarheidstabellen en Praktische Toepassingen
  4. Regelmatigheidefficiëntie begrijpen: Belangrijke metrische gegevens voor PCB-productie
  5. GD&T Uitgelegd: Profiel van een Lijn vs. Profiel van een Oppervlak
  6. Productielijnen begrijpen: hoe montagebanden productie-efficiëntie drijven
  7. Wat Zijn Bouwlijnen? Een Duidelijke Gids voor Eigenaars
  8. Brugtaps begrijpen: Hoe ze uw telefoonservice beïnvloeden
  9. De Montagelijn Begrijpen: Hoe Uitwisselbare Onderdelen Efficiënte Productie Drijven
  10. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  11. Java-opdrachtregelargumenten onder de knie krijgen: doorgeven en parsen van parameters