问题描述
|
我对使用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;
}
解决方法
阅读以下功能:
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);
您将立即看到该怎么做。
, 在此期间,您可以对要检查的每个字符使用if语句。
if(isalnum(a){
counta++;
}
else if(isalpha(a)){
countb++;
}
else if(isascii(a)){
countc++;
}