我正在用C编程语言练习编程,并正在尝试使用rename()函数.我使用以下代码:
#include
#include
int main(void)
{
if(rename ("data", "database") )
{
fprintf(stderr, "Can't rename file\n");
exit(EXIT_FAILURE);
}
return 0;
}
此代码将名为“data”的文件的名称更改为名为“database”的文件.我想知道如果您尝试运行此代码会发生什么,但在同一目录中已经有一个名为“database”的文件.
这是我在运行rename()函数之前所拥有的目录的内容:
这是运行rename()函数后我所拥有的目录的内容:
似乎rename()函数确实正确地重命名了我的文件,但它也删除了该目录中已经具有相同名称的文件.我想知道这是否是rename()函数的设计工作方式,或者这是我的操作系统(Windows 10-cygwin64-gcc编译器)正在做的事情.此外,在使用此功能时,我应该首先检查以确保没有已经具有相同名称的文件以防止它们被删除吗?感谢您的帮助和见解.