fgets读取怎么换行呢?
本帖最后由 Smilencetion 于 2012-02-27 17:28:14 编辑
程序接受两个命令行参数,第一个是一个字符,第二个是文件名
要求程序只打印文件中包含给定字符的那些行
#include
#include
#define MAX 256
int has_ch(char ,const char *);
int main(int argc,char *argv[])
{
FILE *fp;char arr[MAX],ch;
if(argc!=3)
{
printf("no enough arguments:");
exit(EXIT_FAILURE);
}
ch=argv[1][0];
if((fp=fopen(argv[2],"r"))==NULL)
{
printf("can't open %s",argv[2]);
exit(1);
}
while(fgets(arr,MAX,fp)!=NULL)
{
if(has_ch(ch,arr))
fputs(arr,stdout);
}
fclose(fp);
return 0;
}
int has_ch(char ch,const char *arr)
{
while(*arr)
if(ch