作业
1.用fgets统计给定的行号
#include <myhead.h>
int main(int argc, char const *argv[])
{
if (argc != 2)
{
perror("argv error");
return -1;
}
FILE *fp = NULL;
if ((fp = fopen(argv[1], "r")) == NULL)
{
perror("fopen error");
return -1;
}
char str[1024] = {'\n'};
int line = 0;
while ((fgets(str, sizeof(str), fp))!=NULL)
{
line++;
}
printf("共有%d行\n",line);
return 0;
}
2.用fgets fputs完成两个内容的拷贝
#include <myhead.h>
int main(int argc, char const *argv[])
{
if (argc != 3)
{
perror("argc error");
return -1;
}
FILE *cp = NULL;
if ((cp = fopen(argv[1], "r")) == NULL)
{
perror("fopen error");
return -1;
}
char str[1024] = {};
FILE *lp = NULL;
if ((lp = fopen(argv[2], "w+")) == NULL)
{
perror("fopen error");
return -1;
}
while ((fgets(str, sizeof(str), cp) != NULL))
{
fputs(str,lp);
}
return 0;
}