fgets()统计文件行数:
#include<stdio.h>
#include<string.h>
int main(){
FILE *fp=NULL;
fp=fopen("./text.txt","r");
if(NULL==fp){
printf("err!\n");
return -1;
}
int num=0;
char ch[10]="";
char *p;
while((p=fgets(ch,10,fp))!=NULL){
if(ch[strlen(ch)-1]=='\n'){
num++;
}
}
printf("%d",num);
}
fgets和fputs完成拷贝
#include<stdio.h>
int main(int argc,const char *argv[]){
if(argc!=3){
printf("input file err\n");
printf("usage:./a.out srcfile destfile");
return -1;
}
FILE *sfp=NULL;
if((sfp=fopen(argv[1],"r"))==NULL){
printf("open src file error\n");
return -1;
}
FILE *dfp=NULL;
if((dfp=fopen(argv[2],"w"))==NULL){
printf("open destfile error\n");
return -1;
}
char ch[5];
char *p;
while((p=fgets(ch,5,sfp))!=NULL){
fputs(ch,dfp);
}
fclose(sfp);
fclose(dfp);
return 0;
}