2011-06-14 4 views
1

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; 
} 
+0

if/else는 'if'부분이 중괄호로되어 있지 않으므로 구문 오류입니다. 코드 구조를 반영한 ​​들여 쓰기로 컴파일 가능한 C 파일을 제공하십시오. – Jens

답변

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); 

당신은 바로 그것을 수행하는 방법을 볼 수 있습니다.

0

잠시 동안 확인하려는 각 문자에 if 문을 사용할 수 있습니다.

if(isalnum(a){ 
    counta++; 
} 
else if(isalpha(a)){ 
    countb++; 
} 
else if(isascii(a)){ 
    countc++; 
}