最近在学LINUX编程,自己学了点函数写的,大家我多指导。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *args[])
{
FILE *fp1, *fp11;
FILE *fp2;
long size;
char buf[1024];
int n, i;
if (argc < 3)
{
printf("have not enough tokens/nplease insert again:");
exit(-1);
}
fp1 = fopen(args[1], "r");
if (fp1 == NULL)
{
printf("have not the file or directory./n");
exit(-1);
}
if (fseek(fp1, 0 ,SEEK_END) != 0)
{
printf("fseek error/n");
exit(-1);
}
size = ftell(fp1);
n = size/1024 + 1;
if (fseek(fp1, 0, SEEK_SET) != 0)
{
printf("fseek error/n");
exit(-1);
}
fp2 = fopen(args[2], "w");
if (fp2 == NULL)
{
printf("can not open object file/n");
exit(-1);
}
for (i=0; i<n-1; i++)
{
if (fread(buf, 1024, 1, fp1) != 1)
{
printf("fread error/n");
}
if (fwrite(buf, 1024, 1, fp2) != 1)
{
printf("fwrite error/n");
}
}
if (fread(buf, size - (n-1)*1024, 1, fp1) != 1)
{
printf("fread error/n");
}
if (fwrite(buf, size - (n-1)*1024, 1, fp2) != 1)
{
printf("fwrite error/n");
}
fflush(fp2);
fflush(fp1);
fclose(fp1);
fclose(fp2);
return 0;
}