rename()
QNX SDP8.0C Library ReferenceAPIDeveloper
Rename a file
Synopsis:
#include <stdio.h>
int rename( const char* old,
const char* new );
Arguments:
- old
- The path to the file that you want to rename. If the path doesn't include a directory, rename() looks for the file in the current working directory.
- new
- The new pathname for the file. If the path doesn't include a directory, rename() creates the file in the current working directory.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The rename() function changes the name of the file indicated by old to the name given in new.
If new identifies an existing file or empty directory, rename() overwrites it.
Returns:
- 0
- Success.
- Nonzero
- An error occurred (errno is set).
Errors:
- EACCES
- The calling program doesn't have permission to search one of the components of either path prefix, or one of the directories containing old or new denies write permission.
- EBUSY
- The directory named by old or new can't be renamed because another process is using it.
- EEXIST
- The file specified by new is a directory that contains files.
- EINVAL
- The new directory pathname contains the old directory.
- EISDIR
- The file specified by new is a directory and old is a file.
- ELOOP
- Too many levels of symbolic links.
- EMLINK
- The file named by old is a directory, and the link count of the parent directory of new would exceed LINK_MAX.
- ENAMETOOLONG
- The length of old or new exceeds PATH_MAX.
- ENOENT
- The old file doesn't exist, or old or new is an empty string.
- ENOSPC
- The directory that would contain new can't be extended.
- ENOSYS
- The rename() function isn't implemented for the filesystem underlying the path specified in old or new.
- ENOTDIR
- A component of either path prefix isn't a directory, or old is an existing directory and new isn't.
- ENOTEMPTY
- The file specified by new is a directory that contains files.
- EROFS
- The rename() would affect files on a read-only filesystem.
- EXDEV
- The files or directories named by old and new are on different filesystems.
Examples:
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
if( rename( "old.dat", "new.dat" ) ) {
puts( "Error renaming old.dat to new.dat." );
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Signal handler | Yes |
Thread | Yes |
Page updated: