Прототип функции rename:
int rename( const char * oldfilename, const char * newfilename );
Заголовочный файл
Название | Язык |
---|---|
stdio.h | С |
cstdio | С++ |
Описание
Функция rename
изменяет имя файла или каталога, указанного в oldfilename
на новое имя, указанное в newfilename
.
Если в oldfilename
и newfilename
указать разные пути, и, если это поддерживается системой, файл будет перемещен в новое место.
Эта операция производится непосредственно с файлом, нет потоков, участвующих в операции.
Параметры:
- oldfilename
Cи-строка, содержащая имя файла, который будет переименован и (или) перемещен. Этот файл должен существовать и быть доступным. - newfilename
Cи-строка, содержащая новое имя файла. Она не должно быть именем существующего файла, если это так, то результат работы программы будет непредсказуем, а точнее, он будет зависеть от того, как среагирует используемая ОС, может быть или отказ или переопределение.
Возвращаемое значение
Если файл успешно переименован, возвращается нулевое значение.
В случае ошибки, возвращается ненулевое значение и макрос ERRNO
инициализируется соответствующим кодом ошибки.
Строка, интерпретирующая это значение может быть выведена на стандартный поток ошибок при вызове функции perror
.
Пример: исходный код программы
// пример использования функции: rename для переименования файла #include <iostream> // для оператора cout #include <cstdio> // для функции rename int main () { char oldfilename[] = "oldfilename.txt"; // старое имя файла char newfilename[] = "newfilename.txt"; // новое имя файла if ( rename( oldfilename, newfilename ) == 0 ) // переименование файла std::cout << "Файл успешно переименованn"; else std::cout << "Ошибка переименования файлаn"; return 0; }
Пример работы программы
Если файл oldfilename.txt
может быть успешно переименован в newfilename.txt
, следующее сообщение будет выведено на стандартный вывод:
В противном случае, сообщение, похожее на это будет показано на экране:
Комментарии