作业
题目一
使用fgets实现计算一个文件有几行
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <head.h>
int main(int argc, const char *argv[])
{
FILE* fp=fopen("1.txt","a+");
if(NULL==fp)
{
ERR_MSG("fopen");
return -1;
}
char s[30];
memset(s,0,sizeof(s));
int count=0;
while(1)
{
if(fgets(s,sizeof(s),fp)==NULL)
break;
count++;
}
printf("%d\n",count);
fclose(fp);
return 0;
}
题目二
用fread和fwrite实现文件拷贝
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <head.h>
int main(int argc, const char *argv[])
{
FILE* fp=fopen("1.txt","r");
if(NULL==fp)
{
ERR_MSG("fopen");
return -1;
}
FILE* pt=fopen("2.txt","w");
if(NULL==pt)
{
ERR_MSG("fopen");
return -1;
}
char s[30];
size_t res=0;
while(1)
{
memset(s,0,sizeof(s));
res = fread(&s,sizeof(char),30,fp);
if(0==res)
break;
fwrite(&s,sizeof(s),1,pt);
}
fclose(fp);
fclose(pt);
return 0;
}
思维导图