1.使用fgets统计一个文件的行号
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAXSIZE 100
int main(int argc, const char *argv[])
{
int len=0;
char arr[MAXSIZE]="0";
if(argc!=2)
{
printf("error\n");
return -1;
}
FILE *fp;
if((fp=fopen(argv[1],"r"))==NULL)
{
printf("%s==NULL!",argv[1]);
return -1;
}
while(fgets(arr,MAXSIZE,fp))
{
if(arr[strlen(arr)-1]=='\n')
len++;
}
printf("%d",len);
return 0;
}
2.使用fgets,fputs拷贝文件
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define max 100
int main(int argc, const char *argv[])
{
if(argc!=3)
{
printf("error\n");
return-1;
}
FILE *fp,*lp;
if((fp=fopen(argv[1],"r"))==NULL||(lp=fopen(argv[2],"w"))==NULL)
{
printf("error\n");
return -2;
}
char arr[max]="0";
while(fgets(arr,max,fp))
{
fputs(arr,lp);
}
return 0;
}