//用fgets函数获取文件行数
#include <myhead.h>
int main(int argc, const char *argv[])
{
FILE*fp = fopen("./1.txt","r");
if(fp == NULL)
{
perror("fp");
return -1;
}
char buff[100];
int count=0;
while(fgets(buff,sizeof(buff),fp)!=NULL)//循环读取,直到返回值为空停止
{
count++;//计数器接收行数
}
fclose(fp);
printf("该文件有%d行\n",count);
return 0;
}
//fgets和fputs拷贝文件
#include <myhead.h>
int empty(FILE *fr)//子函数:判断指针是否为空
{
if(fr == NULL)
{
perror("error:");
return -1;
}
}
int main(int argc, const char *argv[])
{
FILE *fp1 = fopen("./1.txt","r");
empty(fp1);
FILE *fp2 = fopen("./2.txt","w");
empty(fp2);
char buff[100];
while(fgets(buff,sizeof(buff),fp1)!=NULL)
{
fputs(buff,fp2);
}
fclose(fp1);
fclose(fp2);
fp2 = fopen("./2.txt","r");
empty(fp2);
while(fgets(buff,sizeof(buff),fp2)!=NULL)
{
printf("%s\n",buff);
}
return 0;
}