검수요청.png검수요청.png

인클루드

위키원
이동: 둘러보기, 검색

인클루드(include)는 프로그래밍에서 언어 자체에서 지원하는 기능을 다른 곳에서 가져다 쓰기 위해 사용하는 명령어이다. 영문 해석하면 '포함시키다'라는 의미를 가지는데, 다른 곳에 있는 소스코드의 일부를 가져와서 포함시키라는 뜻이다. 전처리문이라고도 한다. C 언어 계열 프로그램에서 사용한다. 자바 언어에서도 include를 사용할 수 있으나, 자바파이썬에서는 주로 임포트(import)를 사용한다.

문법[편집]

include 문법(사용법)은 다음과 같다.

#include <헤더파일> 또는 #include "헤더파일"

이렇게 두 가지 형식이 있는데 #include<헤더파일>은 컴파일러의 라이브러리 폴더에서 헤더파일을 찾는다. #include"헤더파일"은 현재 디렉토리에서 헤더파일을 찾는다.만약 없다면 컴파일러의 라이브러리 폴더에서 헤더파일을 찾는다. 그러므로 <>보다 ""가 범위가 더 크고 이 경우 사용자가 헤더파일을 만들었을 경우 사용한다.[1]

stdio.h[편집]

stdio.h은 Standard Input/Output library (표준입출력 라이브러리)의 약어로써, C 언어의 표준 라이브러리 함수의 매크로 정의, 상수, 여러 형의 입출력 함수가 포함된 헤더 파일이다. 1970년대, 벨 연구소의 마크 레스크가 쓴 "portable I/O package"로부터 내려저 왔다. C++에서는 호환성을 이유로 stdio.h 헤더 파일이 포함되어 있는 것과 마찬가지로 cstdio도 std 이름공간에서 stdio.h의 함수와 형식이 선언되어 있다.[2]

멤버 함수[편집]

stdio.h에 선언되어 있는 함수는 일반적으로 파일 조작 함수와 콘솔 입출력 함수 둘로 구분된다. 주로 쓰이는 것들만 간단하게 구분 해보겠다.

  • 파일 조작 함수
  • remove : 파일을 삭제한다.
  • rename : 파일 이름을 바꾼다.
  • rewind : 파일 위치를 초기화한다.
  • 콘솔 입출력 함수
  • printf : 표준 출력 스트림에 출력한다.
  • scanf : 표준 입력 스트림으로 입력한다.
  • ungetc : 문자를 스트림의 역순으로 읽는다.
  • putc : 스트림에 문자를 쓴다.
  • fread : 파일로부터 데이터를 읽어들인다.
  • fwrite : 파일로부터 데이터를 쓴다.
  • fgets : 파일로부터 문자열을 읽는다.(파일의 끝이거나 개행 문자의 끝)
  • getchar : 주어진 스트림으로부터 문자를 읽고 리턴한다. 강화된 파일 지시자로서, 주어진 스트림을 한 번 이상으로 평가하는 fgetc와 같은 효과를 내는 매크로이다.[2]

iostream[편집]

표준 스트림에서 읽기 및 쓰기를 제어하는 개체를 선언한다. 이러한 경우는 대개 C++ 프로그램에서 입력 및 출력을 수행 하는 데 필요한 유일한 헤더이다.

설명[편집]

개체는 다음 두 그룹으로 나뉜다.

  • cin, cout , cerr 및 clog 는 바이트 지향적 이며, 기존의 바이트 단위 전송을 수행한다.
  • wcin, wcout , wcerr 및 wclog 는 너비가 가로 이며 프로그램이 내부적으로 조작 하는 와이드 문자로 변환된다.

표준 입력과 같은 스트림에서 특정 작업을 수행한 후에는 동일한 스트림에서 다른 방향의 작업을 수행할 수 없다. 따라서 프로그램은 같은 두 가지 모두에서 서로 바꿔 작업할 수 없다. 이 헤더에 선언 된 모든 개체는 특이 한 속성을 공유 한다 .이 속성은를 포함 하는 변환 단위에서 정의 하는 정적 개체 앞에 생성 된다고 가정할 수 있다. 마찬가지로, 정의한 해당 정적 개체에 대 한 소멸자 이전에 이러한 개체가 제거 되지 않는다고 가정할 수 있다. 그러나 출력 스트림은 프로그램 종료 중에 플러시 된다. 따라서 프로그램 시작 전과 프로그램 종료 후에 안전하게 표준 스트림에서 읽거나 쓸 수 있다. 그러나 이 보장은 범용이 아니다. 정적 생성자는 다른 변환 단위에서 함수를 호출할 수 있다. 호출 된 함수는 변환 단위가 정적 생성에 참여 하는 불확실한 순서를 감안하여 이 헤더에 선언 된 개체가 생성 되었다고 가정할 수 없다. 이러한 컨텍스트에서 이러한 개체를 사용 하려면 먼저 클래스의 개체를 생성 해야 한다.

  • 전역 스트림 개체
  • cerr : 표준 오류 출력에 대한 버퍼링되지 않은 삽입을 바이트 스트림으로 제어한다.
  • cin : 표준 입력에서의 추출을 바이트 스트림으로 제어한다.
  • clog : 준 오류 출력에 대한 버퍼링된 삽입을 바이트 스트림으로 제어합니다.
  • cout : 표준 출력에 대한 삽입을 바이트 스트림으로 제어한다.
  • wcerr : 표준 오류 출력에 대한 버퍼링되지 않은 삽입을 와이드 스트림으로 제어한다.
  • wcin : 준 입력에서의 추출을 와이드 스트림으로 제어한다.
  • wclog : 준 오류 출력에 대한 버퍼링된 삽입을 와이드 스트림으로 제어한다.
  • wcout : 넓은 스트림으로 표준 출력에 삽입을 제어한다.[3]

time.h[편집]

이는 C언어에서 시간 관련 함수를 모아놓은 라이브러리다.

  • 시간 관련 함수들
  • clock : 시계 프로그램
  • difftime : 두 개 시간의 차이를 구한다.
  • mktime : tm 구조체를 time_t 로 바꾼다.
  • time : 현재 시간을 구한다.
  • 변환 관련
  • asctime : tm구조체를 문자열로 바꾼다.
  • ctime : time_t 값을 문자열로 바꾼다.
  • gmtime : time_t 를 UTC 시간으로 하여 tm으로 바꾼다.
  • localtime : time_t를 현지 시간으로 하여 tm으로 바꾼다.
  • strftime : 특정한 형식(사용자가 지정한 형식 문자열)으로 시간을 출력한다.
  • 매크로
  • CLOCKS_PER_SEC : 1초 당 클록 수
  • NULL : 널 포인터
  • 타입
  • clock_t : 클록 타입
  • size_t : 부호 없는 정수형
  • time_t : 시간 타입
  • struct tm: 시간 구조체[4]

각주[편집]

  1. wowon〈C언어 include 사용법〉, 《티스토리》, 2017-05-29
  2. 2.0 2.1 stdio.h - 위키백과, 우리 모두의 백과사전〉, 《위키백과》
  3. <iostream> | Microsoft Docs〉, 《마이크로소프트독스》
  4. C언어 레퍼런스 - time.h 헤더파일〉, 《모도코드》, 2010-12-25

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 인클루드 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.