• c++标准库conio.h文件


    /*
     * conio.h
     *
     * Low level console I/O functions.  Pretty please try to use the ANSI
     * standard ones if you are writing new code.
     *
     * $Id: conio.h,v 7f0aa41f8caf 2018/10/21 15:39:35 keith $
     *
     * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
     * Copyright (C) 1997, 1999-2001, 2003, 2004, 2007, 2018, MinGW.org Project.
     *
     *
     * Permission is hereby granted, free of charge, to any person obtaining a
     * copy of this software and associated documentation files (the "Software"),
     * to deal in the Software without restriction, including without limitation
     * the rights to use, copy, modify, merge, publish, distribute, sublicense,
     * and/or sell copies of the Software, and to permit persons to whom the
     * Software is furnished to do so, subject to the following conditions:
     *
     * The above copyright notice, this permission notice, and the following
     * disclaimer shall be included in all copies or substantial portions of
     * the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
     * DEALINGS IN THE SOFTWARE.
     *
     */
    #ifndef _CONIO_H
    #pragma GCC system_header
    
    /* When including <wchar.h>, some of the definitions and declarations
     * which are nominally provided in <conio.h> must be duplicated.  Rather
     * than require duplicated maintenance effort, we provide for partial
     * inclusion of <conio.h> by <wchar.h>; only when not included in
     * this partial fashion...
     */
    #ifndef __WCHAR_H_SOURCED__
     /* ...which is exclusive to <wchar.h>, do we assert the multiple
      * inclusion guard for <conio.h> itself.
      */
    #define _CONIO_H
    
    /* All MinGW.org headers are expected to include <_mingw.h>; when
     * selectively included by <wchar.h>, that responsibility has already
     * been addressed, but for free-standing inclusion we do so now.
     */
    #include <_mingw.h>
    #endif	/* !__WCHAR_H_SOURCED__ */
    
    #ifndef RC_INVOKED
    /* There is nothing here which is useful to the resource compiler;
     * for any other form of compilation, and regardless of the scope in
     * which <conio.h> is included, we need definitions for wchar_t, and
     * wint_t; get them by selective inclusion of <stddef.h>.
     */
    #define __need_wint_t
    #define __need_wchar_t
    #include <stddef.h>
    
    _BEGIN_C_DECLS
    
    #ifdef _CONIO_H
    /* The following declarations are to be exposed only on free-standing
     * inclusion of <conio.h>
     */
    _CRTIMP __cdecl __MINGW_NOTHROW  char *_cgets (char*);
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _cprintf (const char*, ...);
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _cputs (const char*);
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _cscanf (char*, ...);
    
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _getch (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _getche (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _kbhit (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _putch (int);
    _CRTIMP __cdecl __MINGW_NOTHROW  int   _ungetch (int);
    
    #if _WIN32_WINNT >= _WIN32_WINNT_WINXP || __MSVCRT_VERSION__ >= __MSVCR70_DLL
    /* Wide character variants of the console I/O functions were first
     * introduced in non-free MSVCR70.DLL, and subsequently supported by
     * MSVCRT.DLL from WinXP onwards.  Some are declared in <wchar.t> in
     * addition to <conio.h>; the following are exclusive to <conio.h>
     */
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _putwch (wchar_t);
    
    #if __MSVCRT_VERSION__ >= __MSVCR80_DLL
    /* Variants which do not perform thread locking require non-free
     * MSVCR80.DLL, or later; they are not supported by MSVCRT.DLL
     */
    _CRTIMP __cdecl __MINGW_NOTHROW  int     _getch_nolock (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int     _getche_nolock (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int     _putch_nolock (int);
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _putwch_nolock (wchar_t);
    _CRTIMP __cdecl __MINGW_NOTHROW  int     _ungetch_nolock (int);
    
    #endif	/* MSVCR80.DLL or later */
    #endif	/* WinXP, MSVCR70.DLL, or later */
    
    #ifndef _NO_OLDNAMES
    /* Early versions of the Microsoft runtime library provided a subset
     * of the above functions, named without the ugly initial underscore;
     * these remain supported, and should be used when coding to support
     * legacy Windows platforms.
     */
    _CRTIMP __cdecl __MINGW_NOTHROW  int  getch (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int  getche (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int  kbhit (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  int  putch (int);
    _CRTIMP __cdecl __MINGW_NOTHROW  int  ungetch (int);
    
    #endif	/* !_NO_OLDNAMES */
    #endif	/* _CONIO_H */
    
    #if ! (defined _CONIO_H && defined _WCHAR_H)
    /* The following are to be exposed either on free-standing inclusion
     * of <conio.h>, or on selective inclusion by <wchar.h>, but if both
     * guards are defined, then this is free-standing inclusion, and we
     * have already declared these by selective inclusion; there is no
     * need to declare them a second time.
     */
    #if _WIN32_WINNT >= _WIN32_WINNT_WINXP || __MSVCRT_VERSION__ >= __MSVCR70_DLL
    /* Wide character variants of the console I/O functions, in this group,
     * were first introduced in non-free Microsoft runtimes, from MSVCR70.DLL
     * onwards; they were not supported by MSVCRT.DLL prior to WinXP.
     */
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _getwch (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _getwche (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _ungetwch (wint_t);
    
    #if __MSVCRT_VERSION__ >= __MSVCR80_DLL
    /* Variants which do not perform thread locking require non-free
     * MSVCR80.DLL, or later; they are not supported by MSVCRT.DLL
     */
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _getwch_nolock (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _getwche_nolock (void);
    _CRTIMP __cdecl __MINGW_NOTHROW  wint_t  _ungetwch_nolock (wint_t);
    
    #endif	/* MSVCR80.DLL or later */
    #endif	/* WinXP, MSVCR70.DLL, or later */
    #endif	/* ! (_CONIO_H && _WCHAR_H) */
    
    _END_C_DECLS
    
    #endif	/* ! RC_INVOKED */
    #endif	/* !_CONIO_H: $RCSfile: conio.h,v $: end of file */
    
    
  • 相关阅读:
    PHP 支付类库, cURL开源HTTP类库
    sublime text3 批量查找替换文件夹或项目中的字符
    php 腾讯云 对象存储V5版本 获取返回的上传文件的链接方法
    Redis Desktop Manager 利用ssh连接 Redis
    一键PHP/JAVA安装工具 OneinStack
    函数之局部变量和使用global语句
    函数之定义形参
    函数之定义函数
    大数据入门第二十天——scala入门(二)scala基础02
    大数据入门第二十天——scala入门(二)scala基础01
  • 原文地址:https://www.cnblogs.com/coding365/p/12872292.html
Copyright © 2020-2023  润新知