10.13 mysys库中的函数

函数mysys:(旗帜参见my_sys.h

  • int my_copy _A((const char *from, const char *to, myf MyFlags));

复制文件从

  • int my_rename _A((const char *from, const char *to, myf MyFlags));

重命名文件

  • int my_delete _A((const char *name, myf MyFlags));

删除文件的名字

  • int my_redel _A((const char *from, const char *to, int MyFlags));

删除在重命名.将状态从旧文件复制到新文件。如果MY_COPY_TIME是定,定旧时。

  • int my_getwd _A((string buf, uint size, myf MyFlags));int my_setwd _A((const char *dir, myf MyFlags));

获取并设置工作目录。

  • string my_tempnam _A((const char *dir, const char *pfx, myf MyFlags));

创建一个唯一的临时文件名dir在后面加上一些东西可以使名字独一无二。文件名是通过添加一个唯一的6个字符的字符串和TMP_EXT可以.返回指针malloc ()文件名的'ed区域。应该通过free ()

  • File my_open _A((const char *FileName,int Flags,myf MyFlags));文件my_create _A((const char *FileName, int CreateFlags, int accessflags, myf MyFlags));int my_close _A((File Filedes, myf MyFlags));uint my_read _A((File Filedes, byte *Buffer, uint Count, myf MyFlags));uint my_write _A((File Filedes, const字节*Buffer, uint Count, myf MyFlags));ulong my_seek _A((文件fd,ulong pos,int何处,myf MyFlags));ulong my_tell _A((文件fd,myf MyFlags));

使用open、open-with-create-flag、close、read和write来代替open、open-with-create-flag来获得自动错误消息(flagMYF_WME),只需要测试!= MY_NABP)。

  • FILE *my_fopen _A((const char *FileName,int Flags,myf MyFlags));FILE *my_fdopen _A((FILE Filedes,int Flags,myf MyFlags));int my_fclose _A((FILE *fd,myf MyFlags));uint my_fread _A((FILE *stream,byte *Buffer,uint Count,myf MyFlags));uint my_fwrite _A((FILE *stream,const byte *Buffer,uint Count, myf MyFlags));ulong my_fseek _A((FILE *stream,ulong pos,int何处,myf MyFlags));ulong my_ftell _A((FILE *stream,myf MyFlags));

流的读接口与文件的读接口相同。

  • gptr _mymalloc _A((uint uSize,const char *sFile,uint uLine, myf MyFlag));gptr _myrealloc _A((string pPtr,uint uSize,const char *sFile,uint uLine, myf MyFlag));void myfree _A((gptr pPtr,const char *sFile,uint uLine));int _sanity _A((const char *sFile,unsigned int uLine));gptr _myget_copy_of_memory _A((const byte *from,uint length,const char *sFile, uint uLine,myf MyFlag));

malloc(尺寸、myflag)是否映射到这些函数,如果没有编译-DSAFEMALLOC

  • 空终止_A ((void));

malloc ()信息stdout如果编译-DSAFEMALLOC

  • int my_chsize _A((文件fd, ulong newlength, myf MyFlags));

更改文件大小fdnewlength

  • void my_error _D((int nr, myf MyFlags,…));

使用错误编号写入消息(参见mysys / errors.h)stdout,或使用诅咒,如果MYSYS_PROGRAM_USES_CURSES ()被称为。

  • void my_message _A((const char *str, myf MyFlags));

strstdout,或使用诅咒,如果MYSYS_PROGRAM_USES_CURSES ()被称为。

  • void my_init _A(void));

启动每个程序(在main ())。

  • void my_end _A((int infoflag));

提供有关程序的信息。如果infoflag & MY_CHECK_ERROR,如果某些文件未打开,则打印。如果infoflag & MY_GIVE_INFO,打印计时信息和malloc ()信息项目。

  • int my_copy * a ((const char *from, const char *to, int MyFlags));

将状态从旧文件复制到新文件。如果MY_COPY_TIME是定,定旧时。

  • string my_filename _A((文件fd));

返回打开文件的文件名。

  • int dirname _A((string to, const char *name));

从文件名复制目录名称。

  • int test_if_hard_path ((const char *dir_name));

测试dir_name是硬路径(从根开始)。

  • void convert_dirname _A(字符串名);

根据系统转换dirname。在Windows上,将所有字符更改为大写并更改'/”到“”。

  • string fn_next _A((const char *name));

返回文件名中扩展名的指针。

  • string fn_format _A((string to,const char *name,const char *dsk,const char *form,int flag));

格式化文件名,替换库和扩展名,并在不同系统之间转换。的而且的名字参数可以相同。函数不会改变名称的名字! =国旗可能是:

1

强制用“dsk”替换文件名库

2

强制用'form' */替换扩展名

4

强制解包文件名(替换主目录)

8

将文件名包得尽可能短,以便输出给用户

所有开放请求都应该使用至少打开(fn_format (temp_buffer、名称 , " ", " ", 4),…)解压缩文件并将文件名转换为系统格式。

  • string fn_same _A((string toname, const char *name, int flag));

复制目录和扩展名的名字toname如果需要的话。中使用的相同标志可以强制复制fn_format ()

  • int wild_compare _A((const char *str, const char *wildstr));

如果进行比较str匹配wildstrwildstr可以包含的”和“?作为通配符。返回0,如果str而且wildstr匹配。

  • void get_date _A((string to, int timeflag));

获取当前日期,以便打印。

  • ((字符串out_pntr,字符串in_pntr))

使in_pntr到一个5字符的长字符串。所有发音相似的单词都有相同的字符串。

  • int init_key_cache _A((ulong use_mem, ulong leave_this_much_mem));

在MISAM、PISAM和ISAM中使用键缓存。KEY_CACHE_SIZE是一个很好的尺寸。记住锁定数据库以获得最佳缓存。

  • 空白end_key_cache _A ((void));

结束键缓存。