Udostępnij za pośrednictwem


Podczas analizowania c argumentów wiersza polecenia.

Programu Microsoft

Przy interpretowaniu argumenty podane w wierszu polecenia systemu operacyjnego Microsoft C kod startowy stosowane są następujące reguły:

  • Argumenty są rozdzielane przez światło, które jest spacja lub tabulator.

  • Ciąg, ujęte w podwójne cudzysłowy jest interpretowana jako pojedynczy argument, niezależnie od miejsca białe zawartych w ramach.Ciąg w cudzysłowach, mogą być osadzone w argumencie.Należy zauważyć, że znak karetki (^) nie jest rozpoznawany jako znak anulowania lub ogranicznika.

  • Podwójny cudzysłów poprzedzone znaku odwrotnej kreski ukośnej, \ ", jest interpretowany jako literał podwójny cudzysłów (").

  • Ukośniki odwrotne są interpretowane dosłownie, chyba że bezpośrednio poprzedzać podwójny cudzysłów.

  • Jeśli nawet liczba kresek ułamkowych odwróconych następuje podwójny cudzysłów, a następnie jeden odwrotnej kreski ukośnej (\) jest umieszczana w argv tablicy dla każdej pary kresek ułamkowych odwróconych (\) i podwójnego znaku cudzysłowu (") jest interpretowana jako ogranicznik ciągu.

  • Jeśli nieparzysta liczba kresek ułamkowych odwróconych następuje podwójny cudzysłów, a następnie jeden odwrotnej kreski ukośnej (\) jest umieszczana w argv tablicy dla każdej pary kresek ułamkowych odwróconych (\) i podwójnego znaku cudzysłowu jest interpretowana jako sekwencji unikowej przez pozostałe odwróconą, powodując literału podwójny cudzysłów (") mają być umieszczone w argv.

Wykaz ten ilustruje zasady powyżej wykazując wynik interpretowany, przekazany do argv kilka przykładów argumentów wiersza polecenia.Dane wyjściowe wymienione w akapicie drugim, trzecim, a czwarty kolumn jest ARGS.C program, który wynika z listy.

Dane wejściowe wiersza polecenia

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

Przykład

a1y7w461.collapse_all(pl-pl,VS.110).gifKod

// 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;
}

Komentarze

Przykład danych wyjściowych z tego programu jest:

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      

KONIEC Microsoft szczególne

Zobacz też

Informacje

głównych funkcji i wykonywania programu