c语言统计文件单词数

 

1、

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdbool.h>

int main(void)
{
    int ch;
    char filename[128];
    
    FILE * fp;
    bool word = false;
    bool space = false;
    int words = 0;
    
    printf("please input the filename: ");
    scanf("%s", filename);
    
    fp = fopen(filename, "r");
    
    if(fp == NULL)
    {
        printf("file open failed.\n");
        exit(1);    
    }    
    
    while((ch = fgetc(fp)) != EOF)
    {
        putchar(ch);
        if(!isspace(ch))
            word = true;
        if(isspace(ch))
            space = true;
        if(word && space)
        {
            words++;
            word = false;
            space = false;
        }
        if(!word && space)
        {
            space = false;    
        } 
    }
    if(word)
        words++;
    printf("\nwords: %d.\n", words);
        
    return 0;
} 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐