1>使用fgets完成统计文件行号
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,const char *argv[])
{
FILE *fp = NULL;
if((fp = fopen(argv[1],"r")) == NULL)
{
perror("fopen errpr");
return -1;
}
char a[20];
int count=0;
while(fgets(a,sizeof(a),fp)!=NULL)
{
if(strchr(a,'\n')!=NULL)
count++;
}
printf("行数:%d\n",count);
fclose(fp);
return 0;
}

2>使用fgets、fputs实现两个文件拷贝
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,const char *argv[])
{
FILE *fp1 = NULL,*fp2 = NULL;//fp1为源文件 fp2为目标文件
const char *file1 = argv[1];
const char *file2 = argv[2];
if((fp1 = fopen(argv[1],"r")) == NULL)
{
perror("f1 error");
return -1;
}
if((fp2 = fopen(argv[2],"w")) == NULL)
{
perror("f2 error");
return -1;
}
char a[20];
while(fgets(a,sizeof(a),fp1)!=NULL)
{
fputs(a,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}

这两段代码展示了如何在C语言中使用fgets函数。第一个程序用于统计给定文件的行数,通过检测每个fgets读取的行末是否有换行符来实现。第二个程序则利用fgets和fputs实现文件的拷贝,从源文件读取内容并写入到目标文件。
4220

被折叠的 条评论
为什么被折叠?



