计算行
#include <stdio.h>
#include <string.h>
#include <stdlib.h>//用函数fgets计算行数
int main(int argc, const char *argv[])
{
char a[50];
int line=0;
int i=0;
FILE *p=fopen("4.c","r");
if(p==NULL)
{
perror("fopen");
return -1;
}
while(1)
{
if(fgets(a,sizeof(a),p)!=NULL)
{
line++;
}
else
{
break;
}
}
printf("行数为%d\n",line);
fclose(p);
return 0;
}
实现cpy
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a=0;
FILE *p=fopen("8.c","r");
FILE *q=fopen("10.c","w+");
if(p==NULL)
{
perror("fopen");
return -1;
}
if(q==NULL)
{
perror("fopen");
return -1;
}
fseek(p,0,SEEK_END);
size_t size=ftell(p);
fseek(p,0,SEEK_SET);
while(1){
if(fread(&a,1,1,p)<sizeof(a))
break;
fwrite(&a,1,1,q);
}
return 0;
}