#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
//判断参数
if(argc!=2)
{
printf("file count error\n");
printf("usage:./a.out file name\n");
return -1;
}
//定义文件指针,打开文件
FILE *fp;
if((fp=fopen(argv[1],"r"))==NULL)
{
perror("open file faile");
return -1;
}
char str[20];//定义char型数组,从文件中读取字符串
int line=0;
while(fgets(str,sizeof(str),fp)!=NULL) //
{
if(str[strlen(str)-1]=='\n')
line++;
}
printf("共有%d行\n",line);
fclose(fp);
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
if(argc!=3)//判断传进来文件数是否为3
{
printf("file count error\n");
printf("usage:./a.out srcfile destfile\n");
}
//定义两个文件指针,分别指向源文件和目标文件
FILE *srcfp,*destfp;
//读方式打开源文件
if((srcfp=fopen(argv[1],"r"))==NULL)
{
perror("srcfile fopen");
return -1;
}
//以写的形式打开目标文件
if((destfp=fopen(argv[2],"w"))==NULL)
{
perror("destfile open");
return -1;
}
//定义字符搬运工
char ch[129];
while(fgets(ch,sizeof(ch),srcfp)!=NULL)
{
fputs(ch,destfp);
}
//关闭两个文件
fclose(srcfp);
fclose(destfp);
return 0;
}