acl  3.5.3.0
acl_file.h 文件参考
#include "acl_define.h"
#include "acl_vstream.h"
#include <stdarg.h>
+ acl_file.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  ACL_FILE
 

宏定义

#define ACL_FILE_EOF   (1 << 0)
 
#define ACL_FPATH(fp)   ACL_VSTREAM_PATH((fp)->fp)
 
#define ACL_FSTREAM(fp)   ((fp)->fp)
 
#define acl_getc   acl_fgetc
 
#define acl_fputc   acl_putc
 

类型定义

typedef struct ACL_FILE ACL_FILE
 

函数

ACL_API ACL_FILEacl_fopen (const char *filename, const char *mode)
 
ACL_API int acl_fclose (ACL_FILE *fp)
 
ACL_API void acl_clearerr (ACL_FILE *fp)
 
ACL_API int acl_feof (ACL_FILE *fp)
 
ACL_API size_t acl_fread (void *buf, size_t size, size_t nitems, ACL_FILE *fp)
 
ACL_API char * acl_fgets (char *buf, int size, ACL_FILE *fp)
 
ACL_API char * acl_fgets_nonl (char *buf, int size, ACL_FILE *fp)
 
ACL_API int acl_fgetc (ACL_FILE *fp)
 
ACL_API char * acl_gets (char *buf, size_t size)
 
ACL_API char * acl_gets_nonl (char *buf, size_t size)
 
ACL_API int acl_getchar (void)
 
ACL_API int ACL_PRINTF (2, 3) acl_fprintf(ACL_FILE *fp
 
ACL_API int const char ACL_API int acl_vfprintf (ACL_FILE *fp, const char *fmt, va_list ap)
 
ACL_API size_t acl_fwrite (const void *ptr, size_t size, size_t nitems, ACL_FILE *fp)
 
ACL_API int acl_fputs (const char *s, ACL_FILE *fp)
 
ACL_API int ACL_PRINTF (1, 2) acl_printf(const char *fmt
 
ACL_API int ACL_API int acl_vprintf (const char *fmt, va_list ap)
 
ACL_API int acl_putc (int c, ACL_FILE *fp)
 
ACL_API int acl_puts (const char *s)
 
ACL_API int acl_putchar (int c)
 
ACL_API acl_off_t acl_fseek (ACL_FILE *fp, acl_off_t offset, int whence)
 
ACL_API acl_off_t acl_ftell (ACL_FILE *fp)
 

变量

ACL_API int const char * fmt
 

宏定义说明

◆ ACL_FILE_EOF

#define ACL_FILE_EOF   (1 << 0)

在文件 acl_file.h18 行定义.

◆ ACL_FPATH

#define ACL_FPATH (   fp)    ACL_VSTREAM_PATH((fp)->fp)

在文件 acl_file.h22 行定义.

◆ acl_fputc

#define acl_fputc   acl_putc

在文件 acl_file.h174 行定义.

◆ ACL_FSTREAM

#define ACL_FSTREAM (   fp)    ((fp)->fp)

在文件 acl_file.h23 行定义.

◆ acl_getc

#define acl_getc   acl_fgetc

在文件 acl_file.h91 行定义.

类型定义说明

◆ ACL_FILE

typedef struct ACL_FILE ACL_FILE

文件流类型定义

函数说明

◆ acl_clearerr()

ACL_API void acl_clearerr ( ACL_FILE fp)

清除文件流的错误号

参数
fp{ACL_FILE*} 文件流

◆ acl_fclose()

ACL_API int acl_fclose ( ACL_FILE fp)

关闭一个文件流

参数
fp{ACL_FILE*} 文件流

◆ acl_feof()

ACL_API int acl_feof ( ACL_FILE fp)

判断是否到达文件尾部

参数
fp{ACL_FILE*} 文件流
返回
{int} 0: 否; !0: 是

◆ acl_fgetc()

ACL_API int acl_fgetc ( ACL_FILE fp)

从文件流中读取一个字符

参数
fp{ACL_FILE*} 文件流
返回
{int} EOF: 到达文件尾或出错; !EOF: 正确读到一个字符的 ASCII 码

◆ acl_fgets()

ACL_API char* acl_fgets ( char *  buf,
int  size,
ACL_FILE fp 
)

从文件流中读取一行数据

参数
buf{char*} 缓冲区地址
size{int} buf 空间大小
fp{ACL_FILE*} 文件流
返回
{char*} NULL: 未读到完整行数据; !NULL: 读到完整行数据

◆ acl_fgets_nonl()

ACL_API char* acl_fgets_nonl ( char *  buf,
int  size,
ACL_FILE fp 
)

从文件流中读取一行数据,但返回的数据尾部不包含 "\r\n"

参数
buf{char*} 缓冲区地址
size{int} buf 空间大小
fp{ACL_FILE*} 文件流
返回
{char*} NULL: 未读到完整行数据; !NULL: 读到完整行数据

◆ acl_fopen()

ACL_API ACL_FILE* acl_fopen ( const char *  filename,
const char *  mode 
)

打开或创建一个文件进行读写操作

参数
filename{const char*} 文件名
mode{const char*} 打开标志. r or rb: 只读方式打开已经存在文件 w or wb: 只写方式打开已存在文件并清空或只写方式创建新文件 a or ab: 尾部附加只写方式打开已存在文件或创建新文件 r+ or rb+: 以读写方式打开已存在文件 w+ or wb+: 以读写方式打开已存在文件并清空或创建新文件 a+ or ab+: 以尾部附加读写方式打开已存在文件或创建新文件

◆ acl_fputs()

ACL_API int acl_fputs ( const char *  s,
ACL_FILE fp 
)

向文件流中写入数据并自动在尾部添加 "\r\n"

参数
s{const char*} 字符串地址
fp{ACL_FILE*} 文件流指针
返回
{int} 写入的数据量(包含 "\r\n"), 若出错则返回 EOF

◆ acl_fread()

ACL_API size_t acl_fread ( void *  buf,
size_t  size,
size_t  nitems,
ACL_FILE fp 
)

从文件流中读取一些固定长度的数据块

参数
buf{void*} 内存缓冲区地址
size{size_t} 每个数据块长度
nitems{size_t} 数据块个数
fp{ACL_FILE*} 文件流
返回
{size_t} 数据块个数, 若出错则返回 EOF

◆ acl_fseek()

ACL_API acl_off_t acl_fseek ( ACL_FILE fp,
acl_off_t  offset,
int  whence 
)

定位文件位置

参数
fp{ACL_FILE*} 文件流
offset{acl_off_t} 偏移位置
whence{int} 偏移方向, SEEK_SET, SEEK_CUR, SEEK_END
返回
ret {acl_off_t}, ret >= 0: 正确, ret < 0: 出错

◆ acl_ftell()

ACL_API acl_off_t acl_ftell ( ACL_FILE fp)

获得当前文件指针在文件中的位置

参数
fp{ACL_FILE*} 文件句柄
返回
{acl_off_t} 返回值 -1 表示出错

◆ acl_fwrite()

ACL_API size_t acl_fwrite ( const void *  ptr,
size_t  size,
size_t  nitems,
ACL_FILE fp 
)

向文件流中写入一些固定长度的数据块

参数
ptr{const void*} 数据地址
size{size_t} 每个数据块长度
nitems{size_t} 数据块个数
fp{ACL_FILE*} 文件流指针
返回
{size_t} 数据块个数, 若出错则返回 EOF

◆ acl_getchar()

ACL_API int acl_getchar ( void  )

从标准输入中读取一个字符

返回
{int} EOF: 到达文件尾或出错; !EOF: 正确读到一个字符的 ASCII 码

◆ acl_gets()

ACL_API char* acl_gets ( char *  buf,
size_t  size 
)

从标准输入中读取一行数据

参数
buf{char*} 缓存区地址
size{int} buf 空间大小
返回
{char*} NULL: 读结束或出错; !NULL: 应与 buf 相同地址

◆ acl_gets_nonl()

ACL_API char* acl_gets_nonl ( char *  buf,
size_t  size 
)

从标准输入中读取一行数据, 但数据尾部不包含 "\r\n"

参数
buf{char*} 缓存区地址
size{int} buf 空间大小
返回
{char*} NULL: 读结束或出错; !NULL: 应与 buf 相同地址

◆ ACL_PRINTF() [1/2]

ACL_API int ACL_PRINTF ( ,
 
)

向文件流中写入变参格式数据

参数
fp{ACL_FILE*} 文件流句柄
fmt{const char*} 变参格式
...变参
返回
{size_t} 数据长度, 若出错则返回 EOF

◆ ACL_PRINTF() [2/2]

ACL_API void ACL_PRINTF ( ,
 
) const

向标准输出流中写入变参格式数据

参数
fmt{const char*} 变参格式
...变参
返回
{size_t} 数据长度, 若出错则返回 EOF

警告级别日志信息记录函数

参数
fmt{const char*} 参数格式
...变参序列

错误级别日志信息记录函数

参数
fmt{const char*} 参数格式
...变参序列

致命级别日志信息记录函数

参数
fmt{const char*} 参数格式
...变参序列

恐慌级别日志信息记录函数

参数
fmt{const char*} 参数格式
...变参序列

输出信息至标准输出

参数
fmt{const char*} 格式参数
...变参序列

◆ acl_putc()

ACL_API int acl_putc ( int  c,
ACL_FILE fp 
)

向文件流中写入一个字节

参数
c{int} 一个符的 ASCII 码
fp{ACL_FILE*} 文件流指针
返回
{int} 写入的数据量, 若出错则返回 EOF

◆ acl_putchar()

ACL_API int acl_putchar ( int  c)

向文件流中写入一个字节

参数
c{int} 一个符的 ASCII 码
返回
{int} 写入的数据量, 若出错则返回 EOF

◆ acl_puts()

ACL_API int acl_puts ( const char *  s)

向标准输出中写入数据并自动在尾部添加 "\r\n"

参数
s{const char*} 字符串地址
返回
{int} 写入的数据量(包含 "\r\n"), 若出错则返回 EOF

◆ acl_vfprintf()

ACL_API int const char ACL_API int acl_vfprintf ( ACL_FILE fp,
const char *  fmt,
va_list  ap 
)

向文件流中写入变参格式数据

参数
fp{ACL_FILE*} 文件流句柄
fmt{const char*} 变参格式
ap{va_list} 变参列表
返回
{size_t} 数据长度, 若出错则返回 EOF

◆ acl_vprintf()

ACL_API int ACL_API int acl_vprintf ( const char *  fmt,
va_list  ap 
)

向标准输出流中写入变参格式数据

参数
fmt{const char*} 变参格式
ap{va_list} 变参列表
返回
{size_t} 数据长度, 若出错则返回 EOF

变量说明

◆ fmt

ACL_API int const char* fmt

在文件 acl_file.h122 行定义.