C++ 코드를 보면 누구는 stdio.h를 쓰고 cstdio를 쓰는데 무슨 차이일까?
간단히 설명하면 cstdio는 std 네임스페이스를 사용한다
// cstdio standard header
#pragma once
#ifndef _CSTDIO_
#define _CSTDIO_
#include <yvals.h>
#include <stdio.h>
// undef common macro overrides
#undef clearerr
#undef feof
#undef ferror
#undef getc
#undef getchar
#undef putc
#undef putchar
// TRANSITION: Boost nonconformingly uses this macro
#define _FPOSOFF(fp) ((long long)(fp))
typedef FILE _Filet;
#ifndef RC_INVOKED
_STD_BEGIN
#pragma warning(push)
#pragma warning(disable: 4995) // name was marked as #pragma deprecated
using _CSTD _Filet; using _CSTD _Mbstatet;
using _CSTD size_t; using _CSTD fpos_t; using _CSTD FILE;
using _CSTD clearerr; using _CSTD fclose; using _CSTD feof;
using _CSTD ferror; using _CSTD fflush; using _CSTD fgetc;
using _CSTD fgetpos; using _CSTD fgets; using _CSTD fopen;
using _CSTD fprintf; using _CSTD fputc; using _CSTD fputs;
using _CSTD fread; using _CSTD freopen; using _CSTD fscanf;
using _CSTD fseek; using _CSTD fsetpos; using _CSTD ftell;
using _CSTD fwrite; using _CSTD getc; using _CSTD getchar;
using _CSTD perror;
using _CSTD putc; using _CSTD putchar;
using _CSTD printf; using _CSTD puts; using _CSTD remove;
using _CSTD rename; using _CSTD rewind; using _CSTD scanf;
using _CSTD setbuf; using _CSTD setvbuf; using _CSTD sprintf;
using _CSTD sscanf; using _CSTD tmpfile; using _CSTD tmpnam;
using _CSTD ungetc; using _CSTD vfprintf; using _CSTD vprintf;
using _CSTD vsprintf;
using _CSTD snprintf; using _CSTD vsnprintf;
using _CSTD vfscanf; using _CSTD vscanf; using _CSTD vsscanf;
#pragma warning(pop)
_STD_END
#endif /* RC_INVOKED */
#endif /* _CSTDIO_ */
/*
* Copyright (c) by P.J. Plauger. All rights reserved.
* Consult your license regarding permissions and restrictions.
V6.50:0009 */
위 코드가 msvc의 cstdio 파일인데, 중간에 보면 _STD_BEGIN, _STD_END가 있다
#define _STD_BEGIN namespace std {
#define _STD_END }
이런식으로 함수들이 std 네임스페이스에 들어가있다
반응형
'프로그래밍 > C++' 카테고리의 다른 글
C++ std::accumulate 간단 사용법 및 주의사항 (3) | 2020.04.14 |
---|---|
C++ cin, cout 입출력 속도 높이는 법 (fastIO) (0) | 2019.05.05 |
C++ 점과 점 사이의 거리 (0) | 2019.05.04 |
bits/stdc++.h 파일 내용 (0) | 2019.02.12 |
c++ 로또 번호 생성기 프로그래밍 (0) | 2018.08.09 |