1>使用fgets完成统计文件行号
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,const char *argv[])
{
FILE *fp = NULL;
if((fp = fopen(argv[1],"r")) == NULL)
{
perror("fopen errpr");
return -1;
}
char a[20];
int count=0;
while(fgets(a,sizeof(a),fp)!=NULL)
{
if(strchr(a,'\n')!=NULL)
count++;
}
printf("行数:%d\n",count);
fclose(fp);
return 0;
}
2>使用fgets、fputs实现两个文件拷贝
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,const char *argv[])
{
FILE *fp1 = NULL,*fp2 = NULL;//fp1为源文件 fp2为目标文件
const char *file1 = argv[1];
const char *file2 = argv[2];
if((fp1 = fopen(argv[1],"r")) == NULL)
{
perror("f1 error");
return -1;
}
if((fp2 = fopen(argv[2],"w")) == NULL)
{
perror("f2 error");
return -1;
}
char a[20];
while(fgets(a,sizeof(a),fp1)!=NULL)
{
fputs(a,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}