1、使用fgets函数统计文件行号;
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
int main(int argc, const char *argv[])
{
FILE *fp;
fp = fopen("fputs.c","r");//只读打开文件
//判断文件是否存在
if(fp == NULL)
{
perror("fopen error");
return -1;
}
char buf[128]; //定义字符串缓冲区
int line = 0;
//统计fputs.c文件行数
while((fgets(buf,sizeof(buf),fp)) != NULL)
{
line++;
}
fclose(fp); //关闭文件
printf("该文件一共%d行\n",line);
return 0;
}
2、使用fgets函数与fputs函数实现两个文件拷贝;
#include<stdio.h>
#include<string.h>
#include<errno.h>
int main(int argc, const char *argv[])
{
FILE *srcfp=NULL,*tarfp=NULL;
//源文件指针,只读
srcfp = fopen("text.txt","r");
//判断文件的存在
if(srcfp == NULL)
{
perror("fopen error");
return -1;
}
//目的文件指针,只写
tarfp = fopen("text1.txt","w");
if(tarfp == NULL)
{
perror("fopen error");
return -1;
}
//字符串拷贝
char buf[128]; //定义字符串缓冲区
while((fgets(buf,sizeof(buf),srcfp)) !=NULL)
{
fputs(buf,tarfp);
}
//关闭文件
fclose(srcfp);
fclose(tarfp);
puts("拷贝成功");
return 0;
}