C函数renameat()的用法不明白
本帖最后由 rt3 于 2021-6-24 13:22 编辑我写了一个但是每次运行都出错
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
int main (){
char *file1="./1.txt";
char *file2="./2.txt";
int fd1=chdir("/tmp/temp1");
if(fd1!=0){
printf("open dir /tmp/temp1 failed.errno==%d\n",errno);
return 1;
}
int fd2=chdir("/tmp/temp2");
printf("fd2==%d\n",fd2);
if(fd2!=0){
printf("open dir /tmp/temp2 failed.errno==%d\n",errno);
return 2;
}
//执行 这行后 errno 被 设为 14 or 20
if(-1==renameat(fd1,file1,fd2,file2))printf("rename failed.errno==%d\n",errno);
return(0);
}
页:
[1]