目录
使用fgets完成求一个文件的行号
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
if(argc!=2)
{
printf("输入不合法\n");
return -1;
}
FILE *fp;
fp=fopen(argv[1],"r");
if(fp==NULL)
{
printf("指针不合法\n");
return -1;
}
char s[1];
int count=0;
while(fgets(s,sizeof(s)+1,fp)!=NULL)
{
if(s[0]=='\n')
{
count++;
}
}
printf("所求文件的行数为:%d\n",count);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
if(argc!=2)
{
printf("输入不合法\n");
return -1;
}
FILE *fp;
fp=fopen(argv[1],"r");
if(fp==NULL)
{
printf("指针不合法\n");
return -1;
}
char s[5];
int count=0;
int i;
while(fgets(s,sizeof(s),fp)!=NULL)
{
for(i=0;i<sizeof(s);i++)
{
if(s[i]=='\n')
{
count++;
}
}
}
printf("所求文件的行数为:%d\n",count);
return 0;
}
使用fgets、fputs完成两个文件的拷贝
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
if(argc!=3)
{
printf("终端所给语句不合法\n");
return -1;
}
FILE *cfp;
FILE *fp;
cfp=fopen(argv[1],"r");
fp=fopen(argv[2],"w");
if(cfp==NULL)
{
perror("open error");
return -1;
}
if(fp==NULL)
{
perror("open error");
return -1;
}
char buf[5];
while(fgets(buf,sizeof(buf),cfp)!=NULL)
{
fputs(buf,fp);
}
fclose(cfp);
fclose(fp);
printf("拷贝成功\n");
return 0;
}