#include<sys/types.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{
char buf;
FILE *source, *backup;
printf("此程序备份文件基于C库.\n");
//根据自己的路径和文件名称来改变
if ((source = fopen("202236408_source1.dat", "r"))==NULL)
{
printf("Error in opening file.\n");
exit(1);
}
if ((backup = fopen("202236408_target1.dat", "w"))==NULL)
{
printf("Error in creating file.\n");
exit(1);
}
while (fread(&buf, sizeof(buf), 1, source) == 1)
{
if (!fwrite(&buf, sizeof(buf), 1, backup))
{
printf("Error in writing file.\n");
exit(1);
}
}
if (ferror(source) != 0)
{
printf("Error in reading file.\n");
exit(1);
}
else
{
printf("Success in reading source file.\n");
}
if (fclose(source))
{
printf("Error in close file.\n");
exit(1);
}
else
{
printf("Success in close source file.\n");
}
if (fclose(backup))
{
printf("Error in close file.\n");
exit(1);
}
else
{
printf("Success in close target file.\n");
exit(1);
}
}
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
int main()
{
char buff[256] = {0};
char * path1 = "202236408_source2.dat"; //根据自己的路径来做自己的改变哟
char * path2 = "202236408_target2.dat";
int source, target;
if ((source = open(path1, O_RDONLY))==-1)
{
printf("Error in opening file.\n");
exit(1);
}
if ((target = open(path2, O_WRONLY | O_CREAT, 0600))==-1)
{
printf("Error in creating file.\n");
exit(1);
}
int num = 0;
while ( (num = read(source, buff, 256)) > 0)
{
write(target, buff, num);
}
printf("Success in reading source file\n");
if (close(source) == -1)
{
printf("Error in close source file.\n");
exit(1);
}
else
{
printf("Success in close source file.\n");
}
if (close(target) == -1)
{
printf("Error in close target file.\n");
exit(1);
}
else
{
printf("success in close target file.\n");
exit(1);
}
}