FileSys::Rename( FileSys *, Error * )
Rename the file specified by the path protected
FileSys member to the file specified by the target
FileSys object.
|
Virtual? |
Yes |
|
|
Class |
||
|
Arguments |
|
name of target for rename |
|
|
returned error status |
|
|
Returns |
|
Notes
On some operating systems, an unlink might be required before calling Rename().
Your implementation must correctly report any system errors that might occur during the rename.
Example
To use Rename() to rename
/usr/logs/log2 to /usr/logs/log1:
FileSys *f1 = FileSys::Create( FST_TEXT );
FileSys *f2 = FileSys::Create( FST_TEXT );
Error e;
f1->Set( "/usr/logs/log1" );
f2->Set( "/usr/logs/log2" );
f1->Rename( f2, &e );
To reimplement Rename()
to report errors with Error::Sys() and provide
debugging output:
void FileSysDemo::Rename( FileSys *target, Error *e )
{
if ( rename( Name(), target->Name() ) < 0 )
e->Sys( "rename", Name() );
if ( DEBUG )
printf( "Debug (Rename): %s to %s\n", Name(), target->Name() );
}