rename.c

来自「用于嵌入式Linux系统的标准C的库函数」· C语言 代码 · 共 87 行

C
87
字号
/*FUNCTION<<rename>>---rename a fileINDEX	renameINDEX	_rename_rANSI_SYNOPSIS	#include <stdio.h>	int rename(const char *<[old]>, const char *<[new]>);	int _rename_r(void *<[reent]>,                       const char *<[old]>, const char *<[new]>);TRAD_SYNOPSIS	#include <stdio.h>	int rename(<[old]>, <[new]>)	char *<[old]>;	char *<[new]>;	int _rename_r(<[reent]>, <[old]>, <[new]>)	char *<[reent]>;	char *<[old]>;	char *<[new]>;DESCRIPTIONUse <<rename>> to establish a new name (the string at <[new]>) for afile now known by the string at <[old]>.  After a successful<<rename>>, the file is no longer accessible by the string at <[old]>.If <<rename>> fails, the file named <<*<[old]>>> is unaffected.  Theconditions for failure depend on the host operating system.The alternate function <<_rename_r>> is a reentrant version.  Theextra argument <[reent]> is a pointer to a reentrancy structure.RETURNSThe result is either <<0>> (when successful) or <<-1>> (when the filecould not be renamed).PORTABILITYANSI C requires <<rename>>, but only specifies that the result onfailure be nonzero.  The effects of using the name of an existing fileas <<*<[new]>>> may vary from one implementation to another.Supporting OS subroutines required: <<link>>, <<unlink>>, or <<rename>>.*/#include <stdio.h>#include <sys/unistd.h>#include <reent.h>int_rename_r (ptr, old, new)     struct _reent *ptr;     _CONST char *old;     _CONST char *new;{#ifdef HAVE_RENAME  return _rename (old,new);#else  if (_link_r (ptr, old, new) == -1)    return -1;  if (_unlink_r (ptr, old) == -1)    {      /* ??? Should we unlink new? (rhetorical question) */      return -1;    }#endif  return 0;}#ifndef _REENT_ONLYintrename (old, new)     _CONST char *old;     _CONST char *new;{  return _rename_r (_REENT, old, new);}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?