使用fgetc读取文件
问题描述:
我有一个关于使用fgetc来计算指定文件中的字符的问题。 如何分别计算字符类型时如何使用它?例如,我只想计算仅包含小写字符的数量,或者空格数量或标点符号等?有人可以举个简单的例子吗?谢谢使用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++;
}
您的if/else是语法错误,因为'if'部分不在花括号中。请提供可编译的C文件,最好使用缩进来反映代码结构。 – Jens 2012-05-29 14:52:28