텍스트 파일 "sample.s"를 open하여 숫자 단어, 알파벳 단어, 기타 단어 등 총 세 종류의 단어 수를 각각 카운트 하여 출력
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #include <stdio.h > #include <string.h > #include <stdlib.h > #include <ctype.h > void get_token_num(char *bp); int eng = 0, num = 0, etc = 0; int main() {     FILE *fp;     char buf[80];     if ((fp = fopen("sample.s", "r")) == NULL) {         fprintf(stderr, "file not found...\n"); exit(1);     }     while (fgets(buf, sizeof(buf), fp) != NULL) {         get_token_num(buf);     }     fclose(fp);     printf("영어단어개수 = %d\n숫자단어개수 = %d\n기타단어개수 = %d\n", eng, num, etc);     return 0; } void get_token_num(char *bp) {     char *cp;     int n, n1, n2;     for (cp = strtok(bp, " \t\n"); cp != NULL; ) {         n = 0, n1 = 0, n2 = 0;         for (int i = 0; i < strlen(cp); i ++)         {             if (isdigit(cp[i]))    //숫자면 n 증가             {                 n += 1;             }             else if (isalpha(cp[i])) //영어면 n1 증가             {                 n1 += 1;             }             else    //기타면 n2 증가             {                 n2 += 1;                 break;             }         }             if (n ==strlen(cp))    //n이 길이만큼이면 숫자이니 num 카운트 증가             {                 num += 1;             }             else if (n1 == strlen(cp))//n1이 길이만큼이면 영어이니 eng 카운트 증가             {                 eng += 1;             }             else //n2이 길이만큼이면 숫자이니 etc 카운트 증가             {                 etc += 1;             }         cp = strtok(NULL, " \t\n");     } } Colored by Color Scripter | cs | 
'대학교 > 3.시스템프로그래밍' 카테고리의 다른 글
| 시스템 프로그래밍 Project #4 (0) | 2017.11.07 | 
|---|---|
| 시스템 프로그래밍 Project #3 (0) | 2017.10.29 | 
| 시스템 프로그래밍 Project #1 (0) | 2017.10.29 | 
 시스템프로그래밍project2.hwp
시스템프로그래밍project2.hwp project2.c
project2.c