stdio.h 代码内容
2016-03-04 21:53阅读:
//
// stdio.h
//
// Copyright (c) Microsoft
Corporation. All rights reserved.
//
// The C Standard Library header.
//
#pragma once
#define _INC_STDIO
#include
#include
_CRT_BEGIN_C_HEADER
#define BUFSIZ 512
#define _NFILE _NSTREAM_
#define _NSTREAM_ 512
#define _IOB_ENTRIES 3
#define EOF (-1)
#define _IOFBF 0x0000
#define _IOLBF 0x0040
#define _IONBF 0x0004
#define L_tmpnam 260 // _MAX_PATH
#if __STDC_WANT_SECURE_LIB__
#define L_tmpnam_s L_tmpnam
#endif
#define SEEK_CUR 1
#define SEEK_END 2
#define SEEK_SET 0
#define FILENAME_MAX 260
#define FOPEN_MAX 20
#define _SYS_OPEN 20
#define TMP_MAX
_CRT_INT_MAX
#if __STDC_WANT_SECURE_LIB__
#define TMP_MAX_S
TMP_MAX
#define _TMP_MAX_S
TMP_MAX
#endif
typedef __int64 fpos_t;
_Check_return_opt_
_ACRTIMP errno_t __cdecl
_get_stream_buffer_pointers(
_In_ FILE*
_Stream,
_Out_opt_ char*** _Base,
_Out_opt_ char*** _Pointer,
_Out_opt_ int** _Count
);
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//
// Narrow Character Stream I/O Functions
//
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#if __STDC_WANT_SECURE_LIB__
_Check_return_wat_
_ACRTIMP errno_t __cdecl
clearerr_s(
_Inout_ FILE*
_Stream
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl
fopen_s(
_Outptr_result_maybenull_
FILE** _Stream,
_In_z_
char
const* _FileName,
_In_z_
char
const* _Mode
);
_Check_return_opt_
_Success_(return != 0)
_ACRTIMP size_t __cdecl fread_s(
_Out_writes_bytes_to_(_BufferSize, _ElementSize * _ElementCount)
void* _Buffer,
_In_range_(_ElementSize*_ElementCount, _CRT_SIZE_MAX)
size_t
_BufferSize,
_In_
size_t _ElementSize,
_In_
size_t _ElementCount,
_Inout_
FILE* _Stream
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl
freopen_s(
_Outptr_result_maybenull_
FILE** _Stream,
_In_z_
char
const* _FileName,
_In_z_
char
const* _Mode,
_Inout_
FILE*
_OldStream
);
_Success_(return != 0)
_ACRTIMP char* __cdecl gets_s(
_Out_writes_z_(_Size) char*
_Buffer,
_In_
rsize_t
_Size
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl
tmpfile_s(
_Out_opt_ _Deref_post_valid_
FILE** _Stream
);
_Success_(return == 0)
_Check_return_wat_
_ACRTIMP errno_t __cdecl
tmpnam_s(
_Out_writes_z_(_Size) char*
_Buffer,
_In_
rsize_t
_Size
);
#endif
_ACRTIMP void __cdecl clearerr(
_Inout_ FILE* _Stream
);
_Success_(return != -1)
_Check_return_opt_
_ACRTIMP int __cdecl fclose(
_Inout_ FILE* _Stream
);
_Check_return_opt_
_ACRTIMP int __cdecl _fcloseall(void);
_Check_return_
_ACRTIMP FILE* __cdecl _fdopen(
_In_ int
_FileHandle,
_In_z_ char const* _Mode
);
_Check_return_
_ACRTIMP int __cdecl feof(
_In_ FILE* _Stream
);
_Check_return_
_ACRTIMP int __cdecl ferror(
_In_ FILE* _Stream
);
_Check_return_opt_
_ACRTIMP int __cdecl fflush(
_Inout_opt_ FILE* _Stream
);
_Success_(return != EOF)
_Check_return_opt_
_ACRTIMP int __cdecl fgetc(
_Inout_ FILE* _Stream
);
_Check_return_opt_
_ACRTIMP int __cdecl _fgetchar(void);
_Success_(return != EOF)
_Check_return_opt_
_ACRTIMP int __cdecl fgetpos(
_Inout_ FILE* _Stream,
_Out_ fpos_t* _Position
);
_Success_(return == _Buffer)
_Check_return_opt_
_ACRTIMP char* __cdecl fgets(
_Out_writes_z_(_MaxCount) char*
_Buffer,
_In_
int
_MaxCount,
_Inout_
FILE* _Stream
);
_Check_return_
_ACRTIMP int __cdecl _fileno(
_In_ FILE* _Stream
);
_Check_return_opt_
_ACRTIMP int __cdecl _flushall(void);
_Check_return_ _CRT_INSECURE_DEPRECATE(fopen_s)
_ACRTIMP FILE* __cdecl fopen(
_In_z_ char const* _FileName,
_In_z_ char const* _Mode
);
_Success_(return != EOF)
_Check_return_opt_
_ACRTIMP int __cdecl fputc(
_In_ int
_Character,
_Inout_ FILE* _Stream
);
_Check_return_opt_
_ACRTIMP int __cdecl _fputchar(
_In_ int _Character
);
_Success_(return != EOF)
_Check_return_opt_
_ACRTIMP int __cdecl fputs(
_In_z_ char const*
_Buffer,
_Inout_ FILE*
_Stream
);
_Check_return_opt_
_ACRTIMP size_t __cdecl fread(
_Out_writes_bytes_(_ElementSize *
_ElementCount) void* _Buffer,
_In_
size_t _ElementSize,
_In_
size_t _ElementCount,
_Inout_
FILE* _Stream
);
_Success_(return != 0)
_Check_return_
_CRT_INSECURE_DEPRECATE(freopen_s)
_ACRTIMP FILE* __cdecl freopen(
_In_z_ char const*
_FileName,