|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 30
int main(int argc, char *argv[])
{
char str1[LEN];
FILE *fp1,*fp2;
int ch1,ch2;
int i;
long count = 0;
if (argv < 2)
{
printf("Usage:%s character filname.\n", argv[0]);
exit(EXIT_FAILURE);
}
if (argc < 3)
{
printf("Enter the filename:");
gets(str1);
if ((fp1 = fopen(str1, "r")) == NULL)
{
printf("Cant open the %s file.\n", str1);
exit(EXIT_FAILURE);
}
while ((ch1 = getc(fp1)) != EOF)
{
putchar(ch1);
if (*argv[1] == ch1)
count++;
}
if (fclose(fp1) == NULL)
printf("Can't close the %s file.\n", str1);
printf("Ther are %ld %s in %s file.\n ", count, argv[1], str1);
}
else
{
for (i = 2; i <= argc -1; i++)
{
count = 0;
if ((fp2 = fopen(argv[i], "r")) == NULL)
{
printf("Can't open the %s file.\n", argv[i]);
exit(EXIT_FAILURE);
}
while ((ch2 = getc(fp2) != EOF))
{
putchar(ch2);
if (*argv[1] == ch2)
count++;
}
printf("Ther are %ld %s in %s file.\n ", count, argv[1], argv[i]);
if (fclose(fp2) == NULL)
printf("Can't close the %s file.\n", argv[i]);
}
}
getchar();
return 0;
}
为什么最后一个while循环打印出来的字符都是空白字符,还有为什么我的fclose都关闭不了文件 |
|