반응형

 

 

 

 

 

이번에는 system함수에 대해서 약간 더 파고 들어가 보는 프로그래밍이다.

보통 처음 프로그래밍을 하시는 분들은 system("cls");만 하고 system함수를 더 생각 해 보신분은 잘 없으실 것이다.

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<stdio.h>
#include<Windows.h>
#include <stdlib.h>
 
int main()
{
 int h,m,s,t;
 char command[100];
 
 system("mode con: cols=58 lines=13"); 
 printf("  시간을 입력하여 주십시오.\n\n         그 시간에 맞게 컴퓨터가 종료됩니다.\n\n");
 printf("종료를 취소하고 싶으시면 시간,분,초에 0을 입력해 주십시오.\n\n");
 
 printf(" 시간 : ");scanf("%d",&h);
 printf(" 분 : ");scanf("%d",&m);
 printf(" 초 : "); scanf("%d",&s);
 fflush(stdin);
 t = (h*3600+m*60+s);
 if(t == 0)
 {
  printf(" 컴퓨터 종료를 취소합니다. \n");
  system("shutdown -a");
  return 0;
 }
 
sprintf(command, "shutdown -s -t %d",t);
 
system(command);
 
 
 
}
 
Crocus
이처럼 system함수를 이용하여 시스템 종료를 시킬 수 있는 프로그램 또한 만들어 갈 수 있다.

 

여기서 sprintf라는 함수를 처음 보는 분도 있을텐데 잠깐 간략히 설명하자면 char형 변수 command라는곳에 " " 안에 있는 내용들을 저장시키는 역할이다. (메모리에 저장시킨다고 보면 된다.)

 

** 만약 system() 안에 그냥 shutdown -s -t %d꼴을 그대로 넣게 되면 안되는가라고 생각 하시는분들이 있을 것이다.

 

프로그래밍의 핵심은 결국 자기 자신이 생각하고 찾아보고 해야 실력이 늘 것이다.

 

 

 

 

 

 


반응형