C++ stdio.h 库源代码示例 - 深入理解文件操作和输入输出
#ifndef STDIO_H #define STDIO_H
#include
#ifdef __cplusplus extern "C" { #endif
// 定义一些常量 #define BUFSIZ 1024 #define EOF (-1) #define FILENAME_MAX 256 #define FOPEN_MAX 20 #define L_tmpnam 256 #define TMP_MAX 32767
// 文件指针类型 typedef struct _iobuf { void* _ptr; int _cnt; char* _base; int _flag; int _file; int _charbuf; int _bufsiz; char* _tmpfname; } FILE;
// 标准输入、输出和错误的文件指针 extern FILE* stdin; extern FILE* stdout; extern FILE* stderr;
// 标准输入输出函数 int printf(const char* format, ...); int scanf(const char* format, ...); int fprintf(FILE* stream, const char* format, ...); int fscanf(FILE* stream, const char* format, ...); int sprintf(char* str, const char* format, ...); int sscanf(const char* str, const char* format, ...); int puts(const char* str); int gets(char* str);
// 文件操作函数 FILE* fopen(const char* filename, const char* mode); int fclose(FILE* stream); int fflush(FILE* stream); int fseek(FILE* stream, long offset, int origin); long ftell(FILE* stream); void rewind(FILE* stream); int fgetpos(FILE* stream, fpos_t* pos); int fsetpos(FILE* stream, const fpos_t* pos); int feof(FILE* stream); int ferror(FILE* stream); int clearerr(FILE* stream); int remove(const char* filename); int rename(const char* oldname, const char* newname); FILE* tmpfile(); char* tmpnam(char* str);
// 字符输入输出函数 int fgetc(FILE* stream); char* fgets(char* str, int num, FILE* stream); int fputc(int character, FILE* stream); int fputs(const char* str, FILE* stream); int getc(FILE* stream); int getchar(); char* gets(char* str); int putc(int character, FILE* stream); int putchar(int character); int puts(const char* str); int ungetc(int character, FILE* stream);
// 格式化输入输出函数 int fscanf(FILE* stream, const char* format, ...); int printf(const char* format, ...); int scanf(const char* format, ...); int snprintf(char* str, size_t size, const char* format, ...); int sprintf(char* str, const char* format, ...); int sscanf(const char* str, const char* format, ...); int vfprintf(FILE* stream, const char* format, va_list arg); int vfscanf(FILE* stream, const char* format, va_list arg); int vprintf(const char* format, va_list arg); int vscanf(const char* format, va_list arg); int vsnprintf(char* str, size_t size, const char* format, va_list arg); int vsprintf(char* str, const char* format, va_list arg); int vsscanf(const char* str, const char* format, va_list arg);
#ifdef __cplusplus } #endif
#endif /* STDIO_H */
原文地址: https://www.cveoy.top/t/topic/p5Lz 著作权归作者所有。请勿转载和采集!