文件的移动
用来修改文件名或文件的位置
int rename(const char *oldpath, const char*newpath)
rename会将参数oldpath所指向的文件名改为参数newpath所指向是文件名,若newpath所指向的文件已存在,则源文件会被删除。
返回值;
成功:0
错误:-1
程序:my_mv.c
文件的删除
文件的删除可以使用unlink系统调用,目录的删除则需要使用rmdir系统调用。而通用的既能删除文件又能删除目录的系统调用是remove
int unlink(const char *pathname)
int remove(const char *pathname)
remove系统调用实际上是在其内部封装了unlink和rmdir。
参数pathname若指向一个符号链接,则连接被删除,若参数pathname指向一个socket,fifo或设备文件时,该名字被删除,但已经打开这些文件的进程仍然可以使用这些特殊文件。
返回值:
成功:0
错误:-1
代码:my_mv
#include <stdio.h>
int main(int argc, char **argv)
{
if(argc != 3)
{
printf("Usage:\n");
printf("<mv><src> <dest>\n");
return0;
}
if(rename(argv[1], argv[2]) != 0)
{
printf("Error:%d\n", __LINE__);
return0;
}
return0;
}