C - Commandoregelargumenten
Het is mogelijk om enkele waarden van de opdrachtregel door te geven aan uw C-programma's wanneer ze worden uitgevoerd. Deze waarden worden opdrachtregelargumenten . genoemd en vaak zijn ze belangrijk voor je programma, vooral als je je programma van buitenaf wilt besturen in plaats van die waarden hard in de code te coderen.
De opdrachtregelargumenten worden afgehandeld met behulp van main() functieargumenten waarbij argc verwijst naar het aantal doorgegeven argumenten, en argv[] is een pointer-array die verwijst naar elk argument dat aan het programma wordt doorgegeven. Hieronder volgt een eenvoudig voorbeeld dat controleert of er een argument is opgegeven vanaf de opdrachtregel en dienovereenkomstig actie onderneemt −
#include <stdio.h> int main( int argc, char *argv[] ) { if( argc == 2 ) { printf("The argument supplied is %s\n", argv[1]); } else if( argc > 2 ) { printf("Too many arguments supplied.\n"); } else { printf("One argument expected.\n"); } }
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd met een enkel argument, levert dit het volgende resultaat op.
$./a.out testing The argument supplied is testing
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd met twee argumenten, levert dit het volgende resultaat op.
$./a.out testing1 testing2 Too many arguments supplied.
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd zonder een argument door te geven, levert dit het volgende resultaat op.
$./a.out One argument expected
Opgemerkt moet worden dat argv[0] bevat de naam van het programma zelf en argv[1] is een verwijzing naar het eerste opgegeven argument in de opdrachtregel, en *argv[n] is het laatste argument. Als er geen argumenten worden opgegeven, is argc één, en als u één argument doorgeeft, dan argc is ingesteld op 2.
U geeft alle argumenten op de opdrachtregel door, gescheiden door een spatie, maar als argument zelf een spatie heeft, kunt u dergelijke argumenten doorgeven door ze tussen dubbele aanhalingstekens "" of enkele aanhalingstekens '' te plaatsen. Laten we het bovenstaande voorbeeld nogmaals herschrijven waar we de programmanaam zullen afdrukken en we geven ook een opdrachtregelargument door door dubbele aanhalingstekens te plaatsen −
#include <stdio.h> int main( int argc, char *argv[] ) { printf("Program name %s\n", argv[0]); if( argc == 2 ) { printf("The argument supplied is %s\n", argv[1]); } else if( argc > 2 ) { printf("Too many arguments supplied.\n"); } else { printf("One argument expected.\n"); } }
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd met een enkel argument gescheiden door een spatie maar tussen dubbele aanhalingstekens, levert dit het volgende resultaat op.
$./a.out "testing1 testing2" Program name ./a.out The argument supplied is testing1 testing2
C Taal
- Decoder
- Python-functieargumenten
- Java-opdrachtregelargumenten
- Wat is lijnefficiëntie?
- Wat is een productielijn?
- Wat is een rooilijn?
- Wat is een bridgetap?
- Wat is een assemblagelijn?
- Een inleiding tot precisie snijlijn
- Upgrades van chemische verpakkingslijnen
- Profiel van een lijn versus profiel van een oppervlak