1、使用fgets计算文件行数,用fgets和fouts完成拷贝
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//创建文本指针
FILE *fp1;
//以只读形式打开对应路径下的文件
if((fp1=fopen("./03fputc.c","r")) == NULL)
{
//perror后跟的是用来标识用的字符串
perror("fopen error");
return -1;
}
FILE *fp2;
//以读写形式打开对应路径下的文件,如果不存在则创建,如果存在则清空
if((fp2=fopen("./01test.txt","w+")) == NULL)
{
perror("fopen error");
return -1;
}
char s[10];
int len,count=0;
while(fgets(s,10,fp1) != NULL)
{
//因为每次fgets都会在最后位添'\0',且行数结束则停止读取,所以只要找'\0'前一位是否是'\n'来计算行数
len=strlen(s);
if(s[len-1]=='\n')
{
count++;
}
fputs(s,fp2);
}
printf("%d\n",count);
fclose(fp1);
fclose(fp2);
return 0;
}
2、思维导图:有道云笔记