rt3 发表于 2021-6-24 13:20:55

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]
查看完整版本: C函数renameat()的用法不明白