산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C - 명령줄 인수

C 프로그램이 실행될 때 명령줄에서 일부 값을 C 프로그램으로 전달할 수 있습니다. 이러한 값을 명령줄 인수라고 합니다. 특히 코드 내부의 값을 하드 코딩하는 대신 외부에서 프로그램을 제어하려는 경우 프로그램에 중요합니다.

명령줄 인수는 argc에서 main() 함수 인수를 사용하여 처리됩니다. 전달된 인수의 수를 나타내며 argv[] 프로그램에 전달된 각 인수를 가리키는 포인터 배열입니다. 다음은 명령줄에서 제공된 인수가 있는지 확인하고 그에 따라 조치를 취하는 간단한 예입니다 -

#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");
   }
}

위의 코드를 하나의 인수로 컴파일하여 실행하면 다음과 같은 결과가 나온다.

$./a.out testing
The argument supplied is testing

위의 코드를 두 개의 인자로 컴파일하여 실행하면 다음과 같은 결과가 나온다.

$./a.out testing1 testing2
Too many arguments supplied.

위의 코드를 아무 인자도 전달하지 않고 컴파일하고 실행하면 다음과 같은 결과가 나온다.

$./a.out
One argument expected

argv[0] 프로그램 자체의 이름과 argv[1]를 보유합니다. 제공된 첫 번째 명령줄 인수에 대한 포인터이고 *argv[n]은 마지막 인수입니다. 인수가 제공되지 않으면 argc가 하나가 되고 하나의 인수를 전달하면 argc가 됩니다. 2로 설정됩니다.

공백으로 구분된 모든 명령줄 인수를 전달하지만 인수 자체에 공백이 있으면 큰따옴표 "" 또는 작은따옴표 '' 안에 넣어 이러한 인수를 전달할 수 있습니다. 프로그램 이름을 인쇄하고 큰 따옴표 안에 넣어 명령줄 인수를 전달하는 위의 예를 다시 한 번 작성해 보겠습니다. -

#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");
   }
}

위의 코드를 공백으로 구분하고 큰따옴표 안에 단일 인수를 사용하여 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

$./a.out "testing1 testing2"

Program name ./a.out
The argument supplied is testing1 testing2

C 언어

  1. 디코더
  2. 파이썬 함수 인수
  3. Java 명령줄 인수
  4. 라인 효율성이란 무엇입니까?
  5. 생산 라인이란 무엇입니까?
  6. 빌딩 라인이란 무엇입니까?
  7. 브리지 탭이란 무엇입니까?
  8. 조립 라인이란 무엇입니까?
  9. 정밀 슬리팅 라인 소개
  10. 화학 포장 라인 업그레이드