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

"인클루드"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
 
(사용자 2명의 중간 판 3개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''include'''는 영문 해석하면 '포함시키다'라는 의미를 가지지만 프로그래밍에서는 언어 자체에서 지원하는 기능을 가져다 쓰기 위해 include를 사용하여 가져온다. 전처리 문이라고도 한다. C언어 계열 프로그램에서 사용한다. 자바나 파이썬에서는 import를 사용한다.  
+
'''인클루드'''(include)프로그래밍에서 언어 자체에서 지원하는 기능을 다른 곳에서 가져다 쓰기 위해 사용하는 [[명령어]]이다. 영문 해석하면 '포함시키다'라는 의미를 가지는데, 다른 곳에 있는 [[소스코드]]의 일부를 가져와서 포함시키라는 뜻이다. '''전처리문'''이라고도 한다. [[C 언어]] 계열 프로그램에서 사용한다. [[자바]] 언어에서도 include를 사용할 수 있으나, [[자바]]나 [[파이썬]]에서는 주로 [[임포트]](import)를 사용한다.  
  
 
== 문법 ==
 
== 문법 ==
 
include 문법(사용법)은 다음과 같다.
 
include 문법(사용법)은 다음과 같다.
 
  #include <헤더파일> 또는 #include "헤더파일"
 
  #include <헤더파일> 또는 #include "헤더파일"
이렇게 두 가지 형식이 있는데 #include<헤더파일>은 컴파일러의 라이브러리 폴더에서 헤더파일을 찾는다. #include"헤더파일"은 현재 디렉토리에서 헤더파일을 찾는다.만약 없다면 컴파일러의 라이브러리 폴더에서 헤더파일을 찾는다. 그러므로 <>보다 ""가 범위가 더 크고 이 경우 사용자가 헤더파일을 만들었을 경우 사용한다.<ref>wowon〈[https://wowon.tistory.com/61 C언어 include 사용법]〉, 《티스토리》, 2017-05-29</ref>
+
이렇게 두 가지 형식이 있는데 #include<헤더파일>은 컴파일러의 라이브러리 폴더에서 헤더파일을 찾는다. #include"헤더파일"은 현재 [[디렉토리]]에서 헤더파일을 찾는다.만약 없다면 컴파일러의 [[라이브러리]] 폴더에서 헤더파일을 찾는다. 그러므로 <>보다 ""가 범위가 더 크고 이 경우 사용자가 헤더파일을 만들었을 경우 사용한다.<ref>wowon〈[https://wowon.tistory.com/61 C언어 include 사용법]〉, 《티스토리》, 2017-05-29</ref>
  
 
== stdio.h ==
 
== stdio.h ==
stdio.h은 Standard Input/Output library (표준입출력 라이브러리)의 약어로써, C 언어의 표준 라이브러리 함수의 매크로 정의, 상수, 여러 형의 입출력 함수가 포함된 헤더 파일이다. 1970년대, 벨 연구소의 마크 레스크가 쓴 "portable I/O package"로부터 내려저 왔다. C++에서는 호환성을 이유로 stdio.h 헤더 파일이 포함되어 있는 것과 마찬가지로 cstdio도 std 이름공간에서 stdio.h의 함수와 형식이 선언되어 있다.<ref name = "위키백과">〈[https://ko.wikipedia.org/wiki/Stdio.h stdio.h - 위키백과, 우리 모두의 백과사전]〉, 《위키백과》</ref>
+
stdio.h은 Standard Input/Output library (표준입출력 라이브러리)의 약어로써, C 언어의 표준 라이브러리 함수의 매크로 정의, 상수, 여러 형의 입출력 함수가 포함된 헤더 파일이다. 1970년대, 벨 연구소의 마크 레스크가 쓴 "portable I/O package"로부터 내려저 왔다. [[C++]]에서는 호환성을 이유로 stdio.h 헤더 파일이 포함되어 있는 것과 마찬가지로 cstdio도 std 이름공간에서 stdio.h의 함수와 형식이 선언되어 있다.<ref name = "위키백과">〈[https://ko.wikipedia.org/wiki/Stdio.h stdio.h - 위키백과, 우리 모두의 백과사전]〉, 《위키백과》</ref>
 
=== 멤버 함수 ===
 
=== 멤버 함수 ===
 
stdio.h에 선언되어 있는 함수는 일반적으로 파일 조작 함수와 콘솔 입출력 함수 둘로 구분된다. 주로 쓰이는 것들만 간단하게 구분 해보겠다.
 
stdio.h에 선언되어 있는 함수는 일반적으로 파일 조작 함수와 콘솔 입출력 함수 둘로 구분된다. 주로 쓰이는 것들만 간단하게 구분 해보겠다.
62번째 줄: 62번째 줄:
 
:* time_t : 시간 타입
 
:* time_t : 시간 타입
 
:* struct tm: 시간 구조체<ref>〈[https://modoocode.com/108 C언어 레퍼런스 - time.h 헤더파일]〉, 《모도코드》, 2010-12-25</ref>
 
:* struct tm: 시간 구조체<ref>〈[https://modoocode.com/108 C언어 레퍼런스 - time.h 헤더파일]〉, 《모도코드》, 2010-12-25</ref>
 
  
 
{{각주}}
 
{{각주}}
72번째 줄: 71번째 줄:
  
 
== 같이 보기 ==
 
== 같이 보기 ==
 +
* [[임포트]]
  
 
{{프로그래밍|검토 필요}}
 
{{프로그래밍|검토 필요}}

2023년 8월 17일 (목) 07:37 기준 최신판

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