Прототип функции 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, следующее сообщение будет выведено на стандартный вывод:
В противном случае, сообщение, похожее на это будет показано на экране:
Комментарии