Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 System() 함수

<시간/>

주어진 작업은 C/C++에서 system()의 작동을 보여주는 것입니다.

system() 함수는 C/C++ 표준 라이브러리의 일부입니다. 명령어 처리기나 운영체제의 단말에서 실행할 수 있는 명령어를 전달하기 위해 사용되며, 최종적으로 완료된 명령어를 반환합니다.

이 함수를 호출하려면 또는 를 포함해야 합니다.

구문

구문은 다음과 같습니다 -

int system(char command)

이 함수는 명령이 오류 없이 실행되면 0을 반환합니다.

Input: system(“date”)
Output: The current date is: Fri 12/27/2019

설명 − 다음 예는 시스템 기능을 사용하여 현재 날짜를 표시하는 방법을 보여줍니다. 출력은 운영 체제의 명령 프로세서 내부에 표시됩니다. 이것은 시스템() 함수를 사용하여 터미널 명령 또는 명령 프로세서 내부에서 사용되는 명령을 실행하는 방법을 보여줍니다.

Input: system(“color a”)
Output:

C/C++의 System() 함수

다음 예제는 실행할 명령이 포함된 문자열을 단순히 전달하여 system() 함수를 사용하는 방법을 보여줍니다. 여기에 명령 프로세서에서 텍스트의 색상을 변경하는 데 사용되는 "색상" 명령이 제공되었으며 여기에서는 제대로 작동합니다.

아래 프로그램에서 사용하는 접근 방식은 다음과 같습니다. -

  • 먼저 char 유형의 변수를 만들고 적절한 크기(예:cmd[10])를 지정하여 이 문자열을 명령 저장에 사용할 수 있도록 합니다.
  • 그런 다음 strcpy() 함수를 사용하여 이전에 생성한 문자열에 원하는 명령을 저장합니다. (strcpy() 함수를 사용하려면 헤더 파일을 포함하세요)
  • 이제 명령을 저장하는 문자열을 시스템 함수에 전달합니다.

알고리즘

Start
Step 1-> In function main()
   Declare a char cmd[10]
   Call function strcpy(cmd, “dir”)
   Call function system(cmd)
Stop

#include <iostream>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main() {
   char cmd[10];
   strcpy(cmd,"dir");
   system(cmd);
   return0;
}

출력

위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -

12/25/2019 10:04 AM <DIR> .
12/25/2019 06:33 AM <DIR> ..
12/24/2019 09:56 AM <DIR> bin
12/25/2019 10:04 AM 183 main.cpp
12/25/2019 10:04 AM 1,564,278 main.exe
12/25/2019 06:33 AM 1,046 main.o
12/24/2019 06:33 AM <DIR> obj
12/24/2019 06:33 AM 1,062 Test.cbp
12/24/2019 06:36 AM 358 Test.layout
5 File<s> 1,566,927 bytes
4 Dir<s> 169,866,692,120 bytes free

여기서 우리는 시스템 기능 "dir" 명령을 입력으로 주었으므로 그 대가로 컴퓨터에 있는 모든 디렉토리가 출력으로 표시됩니다.

다음 방법을 사용하여 운영 체제에서 명령 프로세서를 사용할 수 있는지 여부를 확인할 수 있습니다. -

이것은 system() 함수에 Null 포인터를 전달하여 수행할 수 있습니다. 시스템이 0이 아닌 값을 반환하면 명령 프로세서를 사용할 수 있음을 의미합니다.

그렇지 않으면 시스템이 0을 반환하면 명령 처리기가 존재하지 않고 system() 함수를 호출할 수 없음을 의미합니다.

#include <iostream>
#include<stdlib.h>
using namespace std;
int main() {
   if(system(Null))
      cout<<”Command Processor is present”;
   else
      cout<<”Command processor is not present”;
   return 0;
}