1.用fgets计算一个文件的行数,要求分装成函数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fgets_line(FILE *fp)
{
int count=0;
char str[30] = "";
while(fgets(str,sizeof(str),fp) != NULL)
{
bzero(str,sizeof(str));
count++;
}
printf("%d\n",count);
}
int main(int argc, const char *argv[])
{
FILE *fp = fopen("./fputs.txt","r");
if(NULL == fp)
{
perror("fopen");
return -1;
}
//计算文件行数
int count=fgets_line(fp);
fclose(fp);
return 0;
}
功能测试
2.要求用fread fwrite拷贝一个文件。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
FILE* fp_r = fopen("./fread.txt","r");
if(NULL == fp_r)
{
perror("fopen_r");
return -1;
}
FILE *fp_w = fopen("./fwrite.txt","w");
if(NULL == fp_w)
{
perror("fopen_w");
return -2;
}
char arr;
size_t res;
while(1)
{
res=fread(&arr,sizeof(arr),1,fp_r);
if(0==res)
{
break;
}
fwrite(&arr,sizeof(arr),1,fp_w);
}
fclose(fp_r);
fclose(fp_w);
return 0;
}
功能测试