文件编程小练习(复制目录下的文件到当前路径)

#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
 #include <unistd.h>

int main(int argc, char const *argv[])
{
    //步骤一:定义变量
    int fd1,fd2;
    int ret;
    DIR *dir; 
    int frc,fde;
    struct dirent *dp;
    char buff[30] = {0};
    char file_path[30] = {0};
    char file_name[30] = {0};

    //步骤二:从键盘输入文件路径
    printf("plase input file path name:\n");
    scanf("%s",file_path);

    //步骤三:打开目录
    dir = opendir(file_path);
    if (dir == NULL)
    {
       printf("opne failed\n");
       return -1;
    }
    printf("open sucess\n");

    while (1)
    {
         dp = readdir(dir);
         if (dp != NULL)
         {
           printf("file name %s:\n",dp->d_name); 
         }else
         {
           break;
         }             
    }
    
    //步骤四:获得要复制的路径
    printf("plase input file name:\n");
    scanf("%s",file_name);

    //步骤五:获得文件描述符
    frc = open(strcat(strcat(file_path,"/"),file_name) ,O_RDWR);
    if (frc < 0)
    {
        printf("opne file1\n"); 
        return -1;
    }   
    
    fde = open(file_name,O_RDWR|O_CREAT,0666);
    if (fde < 0)
    {
       printf("opne file2\n"); 
        return -1;
    }   

    //读写操作
    while ((ret = read(frc,buff,30))!= 0)
    {
         write(fde,buff,ret);
    };
    
 
    close(frc);
    close(fde);
    closedir(dir);
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值