首先要了解cp命令,可以通过man手册进行查看。
接下来分析以下可能出现的几种情况:
以下是代码:
#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
void cp_dir(const char *src,const char *dst)
{
DIR *pdir=opendir(src);
struct dirent *pd = NULL;
struct stat sbuf_src;
while((pd = readdir(pdir))!=NULL)
{
if(strcmp(pd->d_name,".")==0||strcmp(pd->d_name,"..")==0)
continue;
int len=strlen(src)+strlen(pd->d_name)+2;