📄 wchar.h
字号:
/* * wchar.h * This file has no copyright assigned and is placed in the Public Domain. * This file is a part of the mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within the package. * * Defines of all functions for supporting wide characters. Actually it * just includes all those headers, which is not a good thing to do from a * processing time point of view, but it does mean that everything will be * in sync. * */#ifndef _WCHAR_H_#define _WCHAR_H_/* All the headers include this file. */#include <_mingw.h>#ifndef RC_INVOKED#define __need_size_t#define __need_wint_t#define __need_wchar_t#define __need_NULL#include <stddef.h>#ifndef __VALIST#if defined __GNUC__ && __GNUC__ >= 3#define __need___va_list#include <stdarg.h>#define __VALIST __builtin_va_list#else#define __VALIST char*#endif#endif#endif /* Not RC_INVOKED *//* * MSDN says that isw* char classifications are in wchar.h and wctype.h. * Although the wctype names are ANSI, their exposure in this header is * not. */#include <wctype.h>#ifndef __STRICT_ANSI__/* This is necessary to support the the non-ANSI wchar declarations here. */#include <sys/types.h>#endif /* __STRICT_ANSI__ */#define WCHAR_MIN 0#define WCHAR_MAX 0xffff#ifndef WEOF#define WEOF (wchar_t)(0xFFFF)#endif#ifndef RC_INVOKED#ifdef __cplusplusextern "C" {#endif#ifndef _FILE_DEFINED /* Also in stdio.h */#define _FILE_DEFINEDtypedef struct _iobuf{ char* _ptr; int _cnt; char* _base; int _flag; int _file; int _charbuf; int _bufsiz; char* _tmpfname;} FILE;#endif /* Not _FILE_DEFINED */#ifndef _TIME_T_DEFINED /* Also in time.h */typedef long time_t;#define _TIME_T_DEFINED#endif#ifndef _TM_DEFINED /* Also in time.h */struct tm { int tm_sec; /* seconds after the minute - [0,59] */ int tm_min; /* minutes after the hour - [0,59] */ int tm_hour; /* hours since midnight - [0,23] */ int tm_mday; /* day of the month - [1,31] */ int tm_mon; /* months since January - [0,11] */ int tm_year; /* years since 1900 */ int tm_wday; /* days since Sunday - [0,6] */ int tm_yday; /* days since January 1 - [0,365] */ int tm_isdst; /* daylight savings time flag */ };#define _TM_DEFINED#endif#ifndef _WSTDIO_DEFINED/* Also in stdio.h - keep in sync */_CRTIMP int __cdecl __MINGW_NOTHROW fwprintf (FILE*, const wchar_t*, ...);_CRTIMP int __cdecl __MINGW_NOTHROW wprintf (const wchar_t*, ...);_CRTIMP int __cdecl __MINGW_NOTHROW _snwprintf (wchar_t*, size_t, const wchar_t*, ...);_CRTIMP int __cdecl __MINGW_NOTHROW vfwprintf (FILE*, const wchar_t*, __VALIST);_CRTIMP int __cdecl __MINGW_NOTHROW vwprintf (const wchar_t*, __VALIST);_CRTIMP int __cdecl __MINGW_NOTHROW _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);_CRTIMP int __cdecl __MINGW_NOTHROW fwscanf (FILE*, const wchar_t*, ...);_CRTIMP int __cdecl __MINGW_NOTHROW wscanf (const wchar_t*, ...);_CRTIMP int __cdecl __MINGW_NOTHROW swscanf (const wchar_t*, const wchar_t*, ...);_CRTIMP wint_t __cdecl __MINGW_NOTHROW fgetwc (FILE*);_CRTIMP wint_t __cdecl __MINGW_NOTHROW fputwc (wchar_t, FILE*);_CRTIMP wint_t __cdecl __MINGW_NOTHROW ungetwc (wchar_t, FILE*);/* These differ from the ISO C prototypes, which have a maxlen parameter like snprintf. */#ifndef __STRICT_ANSI___CRTIMP int __cdecl __MINGW_NOTHROW swprintf (wchar_t*, const wchar_t*, ...);_CRTIMP int __cdecl __MINGW_NOTHROW vswprintf (wchar_t*, const wchar_t*, __VALIST);#endif#ifdef __MSVCRT___CRTIMP wchar_t* __cdecl __MINGW_NOTHROW fgetws (wchar_t*, int, FILE*);_CRTIMP int __cdecl __MINGW_NOTHROW fputws (const wchar_t*, FILE*);_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwc (FILE*);_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwchar (void);_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwc (wint_t, FILE*);_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwchar (wint_t);#ifndef __STRICT_ANSI___CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _getws (wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _putws (const wchar_t*);_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfdopen(int, const wchar_t *);_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfopen (const wchar_t*, const wchar_t*);_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfreopen (const wchar_t*, const wchar_t*, FILE*);_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfsopen (const wchar_t*, const wchar_t*, int);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtmpnam (wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtempnam (const wchar_t*, const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _wrename (const wchar_t*, const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _wremove (const wchar_t*);_CRTIMP void __cdecl __MINGW_NOTHROW _wperror (const wchar_t*);_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wpopen (const wchar_t*, const wchar_t*);#endif /* __STRICT_ANSI__ */#endif /* __MSVCRT__ */#ifndef __NO_ISOCEXT /* externs in libmingwex.a */int __cdecl __MINGW_NOTHROW snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...);__CRT_INLINE int __cdecl __MINGW_NOTHROWvsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg) { return _vsnwprintf ( s, n, format, arg);}int __cdecl __MINGW_NOTHROW vwscanf (const wchar_t * __restrict__, __VALIST);int __cdecl __MINGW_NOTHROW vfwscanf (FILE * __restrict__, const wchar_t * __restrict__, __VALIST);int __cdecl __MINGW_NOTHROW vswscanf (const wchar_t * __restrict__, const wchar_t * __restrict__, __VALIST);#endif#define _WSTDIO_DEFINED#endif /* _WSTDIO_DEFINED */#ifndef _WSTDLIB_DEFINED /* also declared in stdlib.h */_CRTIMP long __cdecl __MINGW_NOTHROW wcstol (const wchar_t*, wchar_t**, int);_CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int);_CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**);#if !defined __NO_ISOCEXT /* in libmingwex.a */float __cdecl __MINGW_NOTHROW wcstof (const wchar_t * __restrict__, wchar_t ** __restrict__);long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);#endif /* __NO_ISOCEXT */#ifdef __MSVCRT__ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetenv(const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _wputenv(const wchar_t*);_CRTIMP void __cdecl __MINGW_NOTHROW _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _wsystem(const wchar_t*);_CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*);_CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, size_t);#endif#define _WSTDLIB_DEFINED#endif /* _WSTDLIB_DEFINED */#ifndef _WTIME_DEFINED#ifndef __STRICT_ANSI__#ifdef __MSVCRT__/* wide function prototypes, also declared in time.h */_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wasctime (const struct tm*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime (const time_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wstrdate (wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wstrtime (wchar_t*);#if __MSVCRT_VERSION__ >= 0x601_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime64 (const __time64_t*);#endif#endif /* __MSVCRT__ */#endif /* __STRICT_ANSI__ */_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);#define _WTIME_DEFINED#endif /* _WTIME_DEFINED */#ifndef _WSTRING_DEFINED/* * Unicode versions of the standard string calls. * Also in string.h. */_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscat (wchar_t*, const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcschr (const wchar_t*, wchar_t);_CRTIMP int __cdecl __MINGW_NOTHROW wcscmp (const wchar_t*, const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW wcscoll (const wchar_t*, const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscpy (wchar_t*, const wchar_t*);_CRTIMP size_t __cdecl __MINGW_NOTHROW wcscspn (const wchar_t*, const wchar_t*);/* Note: _wcserror requires __MSVCRT_VERSION__ >= 0x0700. */_CRTIMP size_t __cdecl __MINGW_NOTHROW wcslen (const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncat (wchar_t*, const wchar_t*, size_t);_CRTIMP int __cdecl __MINGW_NOTHROW wcsncmp(const wchar_t*, const wchar_t*, size_t);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncpy(wchar_t*, const wchar_t*, size_t);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcspbrk(const wchar_t*, const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrchr(const wchar_t*, wchar_t);_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsspn(const wchar_t*, const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsstr(const wchar_t*, const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcstok(wchar_t*, const wchar_t*);_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsxfrm(wchar_t*, const wchar_t*, size_t);#ifndef __STRICT_ANSI__/* * Unicode versions of non-ANSI functions provided by CRTDLL. *//* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */#define _wcscmpi _wcsicmp_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsdup (const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicmp (const wchar_t*, const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicoll (const wchar_t*, const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcslwr (wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicmp (const wchar_t*, const wchar_t*, size_t);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsnset (wchar_t*, wchar_t, size_t);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsrev (wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsset (wchar_t*, wchar_t);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsupr (wchar_t*);#ifdef __MSVCRT___CRTIMP int __cdecl __MINGW_NOTHROW _wcsncoll(const wchar_t*, const wchar_t*, size_t);_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicoll(const wchar_t*, const wchar_t*, size_t);#if __MSVCRT_VERSION__ >= 0x0700_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcserror(int);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW __wcserror(const wchar_t*);#endif#endif#ifndef _NO_OLDNAMES/* NOTE: There is no _wcscmpi, but this is for compatibility. */__CRT_INLINE int __cdecl __MINGW_NOTHROWwcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) {return _wcsicmp (__ws1, __ws2);}_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsdup (const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW wcsicmp (const wchar_t*, const wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW wcsicoll (const wchar_t*, const wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcslwr (wchar_t*);_CRTIMP int __cdecl __MINGW_NOTHROW wcsnicmp (const wchar_t*, const wchar_t*, size_t);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsnset (wchar_t*, wchar_t, size_t);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrev (wchar_t*);_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsset (wchar_t*, wchar_t);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -