Argomenti della riga di comando c di traccia
Specifici di Microsoft
Il codice di avvio di Microsoft C# utilizza le seguenti regole quando si interpreta gli argomenti forniti nella riga di comando del sistema operativo:
Gli argomenti sono delimitati da spazi vuoti, ovvero da uno spazio o da una tabulazione.
Una stringa racchiuso tra virgolette doppie vengono interpretate come unico argomento, indipendentemente da spazi vuoti contenuto in.Una stringa tra virgolette può essere incorporata in un argomento.si noti che il cursore (**^**non viene riconosciuto come carattere di escape o delimitatore.
Le virgolette doppie precedute da una barra rovesciata, \„, viene interpretato come virgolette doppie di valore letterale (“).
Le barre rovesciate vengono interpretate letteralmente, a meno che non precedano virgolette doppie.
Se un numero pari di barre rovesciate è seguito da un segno di virgolette doppie, quindi una barra rovesciata (\) viene posizionato in l argv matrice per ciascuna coppia di barre rovesciate (\ \) e le virgolette doppie (“) viene interpretato come delimitatore di stringa.
Se un numero dispari di barre rovesciate è seguito da un segno di virgolette doppie, quindi una barra rovesciata (\) viene posizionato in l argv matrice per ciascuna coppia di barre rovesciate (\ \) e le virgolette doppie vengono interpretate come sequenza di escape dalla barra rovesciata rimanente, causando una virgoletta doppia di valore letterale (“) essere inserito in argv.
Questo elenco vengono illustrate le regole sopra visualizzare il risultato interpretato passato a argv per alcuni esempi di argomenti della riga di comando.L'output elencato nel secondo, in terza e quarta nelle colonne ricavato dal programma di ARGS.C che segue l'elenco.
Input della riga di comando |
argv [1] |
argv [2] |
argv [3] |
---|---|---|---|
"a b c" d e |
a b c |
d |
e |
"ab\"c" "\\" d |
ab"c |
\ |
d |
a\\\b d"e f"g h |
a\\\b |
de fg |
h |
a\\\"b c d |
a\"b |
c |
d |
a\\\\"b c" d e |
a\\b c |
d |
e |
Esempio
Codice
// Parsing_C_Commandline_args.c
// ARGS.C illustrates the following variables used for accessing
// command-line arguments and environment variables:
// argc argv envp
//
#include <stdio.h>
int main( int argc, // Number of strings in array argv
char *argv[], // Array of command-line argument strings
char **envp ) // Array of environment variable strings
{
int count;
// Display each command-line argument.
printf_s( "\nCommand-line arguments:\n" );
for( count = 0; count < argc; count++ )
printf_s( " argv[%d] %s\n", count, argv[count] );
// Display each environment variable.
printf_s( "\nEnvironment variables:\n" );
while( *envp != NULL )
printf_s( " %s\n", *(envp++) );
return;
}
Commenti
Un esempio di output del programma è il seguente:
Command-line arguments:
argv[0] C:\MSC\TEST.EXE
Environment variables:
COMSPEC=C:\NT\SYSTEM32\CMD.EXE
PATH=c:\nt;c:\binb;c:\binr;c:\nt\system32;c:\word;c:\help;c:\msc;c:\;
PROMPT=[$p]
TEMP=c:\tmp
TMP=c:\tmp
EDITORS=c:\binr
WINDIR=c:\nt
Microsoft FINALE specifico