Linux文件操作命令mv的C语言实现。 mv:移动文件或目录 说明:不能使用system函数或exec系列函数
时间: 2023-12-29 07:06:20 浏览: 146
Linux 基础 34-拷贝和移动命令-06-mv命令移动文件或者目录.flv
可以使用C语言中的系统调用函数rename()来实现mv命令的功能,具体实现如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
int main(int argc, char *argv[])
{
// 必须输入两个参数,否则报错
if (argc != 3) {
fprintf(stderr, "Usage: %s <oldfilename> <newfilename>\n", argv[0]);
exit(EXIT_FAILURE);
}
// 调用rename()函数进行文件或目录重命名
int ret = rename(argv[1], argv[2]);
if (ret == -1) {
perror("rename");
exit(EXIT_FAILURE);
}
printf("%s has been renamed to %s\n", argv[1], argv[2]);
return 0;
}
```
其中,rename()函数的第一个参数是旧文件名或旧目录名,第二个参数是新文件名或新目录名。如果重命名成功,rename()函数返回0,否则返回-1,并通过errno变量来指示错误类型。在本程序中,我们使用perror()函数来输出错误信息。
阅读全文