1

我有一个关于使用 fgetc 计算指定文件中的字符的问题。当您必须单独计算字符类型时,您如何使用它?例如,我只想计算小写字符的数量,或者空格的数量,或者标点符号等?有人可以举一个简短的例子吗?谢谢

我试着做这个程序,希望能计算字符总数,你如何挤入单独字符类型的数量?我不确定这个程序是否正确

#include <stdio.h>
int main (void)
{
    //Local declarations
    int a;
    int count = 0;
    FILE* fp;

    //Statements
    if (!(fp = fopen("piFile.c", "r")))
    {
    printf("Error opening file.\n");
    return (1);
}//if open error

      while ((a = fgetc (fp)) != EOF)
      {
      if (a != '\n')
      count++;
      printf("Number of characters: %d \n", count);

      else
      printf("There are no characters to count.\n");
      }
      fclose(fp);
      return 0;
}
4

2 回答 2

0

阅读这些功能:

   int isalnum(int c);
   int isalpha(int c);
   int isascii(int c);
   int isblank(int c);
   int iscntrl(int c);
   int isdigit(int c);
   int isgraph(int c);
   int islower(int c);
   int isprint(int c);
   int ispunct(int c);
   int isspace(int c);
   int isupper(int c);
   int isxdigit(int c);

你会马上看到怎么做。

于 2011-06-14T22:41:37.013 回答
0

在您的 while 中,您可以对要检查的每个字符使用 if 语句。

if(isalnum(a){
    counta++;
}
else if(isalpha(a)){
    countb++;
}
else if(isascii(a)){
    countc++;
}
于 2014-10-13T05:57:48.793 回答