使用fgets统计文件行号
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, const char *argv[])
{
FILE *fp=fopen(argv[1],"r" );
if(fp==NULL)
{
perror("fopen error");
return -1;
}
int count=0;
char buf[10]="";
while(1)
{
char *res=fgets(buf,2,fp);
if(res==NULL)
{
break;
}
else if(*res=='\n')
{
++count;
printf("%d\n",count);
}
}
fclose(fp);
printf("共%d行",count);
puts("");
return 0;
}
使用fgets、fputs实现两个文件的拷贝
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, const char *argv[])
{
if(argc!=3)
{
printf("input file error\n");
return 0;
}
FILE *srcfp,*dstfp;
if((srcfp=fopen(argv[1],"r"))==NULL)
{
perror("src open error:");
return -1;
}
if((dstfp=fopen(argv[2],"w"))==NULL)
{
perror("dst open error:");
return -1;
}
char buf[10]="0";
while(fgets(buf,sizeof(buf),srcfp)!=NULL)
{
fputs(buf,dstfp);
}
printf("success\n");
return 0;
}
向文件中输出当前的系统时间