c语言实现wc功能

本随笔对网站http://blog.chinaunix.net/uid-22566367-id-381958.html有所借鉴

#include <stdio.h>


#define BEGIN 1;

int main(int argc, char *argv[])
{
    int characters, lines, words, state;
    char c;

state = characters = lines = words = 0;
    while((c = getchar()) != ‘0‘) {
        characters++;
        if(c == ‘\n‘) {
            lines++;
            state = 0;
            continue;
        } else if(c == ‘ ‘) {
            state = 0;
            continue;
        } else if(c == ‘\t‘) {
            state = 0;
            continue;
        } else {
            if(state == 0) {
                state = BEGIN;
                words++;
            }
            continue;
        }
    }

printf("%d characters. %d words. %d lines.\n", characters, words, lines);
}

时间: 2024-11-09 03:48:58

c语言实现wc功能的相关文章

软件工程—WC功能实现 (JAVA)

软件工程-WC功能实现(JAVA) Github项目地址:https://github.com/Ousyoung/wc 项目要求 ? wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数.实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他扩展功能,并能够快速地处理多个文件. 基本要求 ? -c [filename]统计文件字符数 -

C语言实现wc项目

该World Count项目用的是C语言编写,只实现了-c.-w.-l.三个功能,由于简单全部代码均由小编自己编写,用的是VS2013只支持windows平台cmd运行. 木有图形界面,参考了Linux系统中的操作方式,即除了可以直接运行.exe程序外,还可以在cmd下输入如:wc.exe [file] -c的带参数方式通过main函数的参数接收来运行. 功能: 1.直接运行,提示输入文件路径,显示三个功能即字符.单词.行数. 2.在cmd下输入,如果参数只有两个则要提示用户需要的功能(-c.-

C语言实现wc.exe

前言 Github地址:https://github.com/starmiku/xiangmu_wc 编程语言:C 项目简介 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数. 实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他扩展功能,并能够快速地处理多个文件. 基本功能列表: wc.exe -c file.c //返回文件

个人小项目——Java实现WC功能

这个小项目用了两种方法解决了该功能的实现. 1.两种方法的功能和具体实现 代码可以成功运行,但是有一些情况考虑不完整,一种方法用了FileOutputStream输出流,为了解决空格无法统计问题,对文本实现一次重写,用String类的replace方法将空格用其他字符替换,然后可以实现字母数,单词数和行数的统计.另一种方法没有重新写文本,直接在缓冲区中处理文本,除上面三个之外还统计了空格数,字符总数和标点符号数. 2.优缺点比较 方法一可以统计出空行,而方法二由于是使用bufferedReade

R语言空间分析功能简介

大家知道,R语言的软件包都是各领域专家贡献而来,通过一个统一的开放的语言环境神奇地组装到了一起,然后开始产生化学反应,为大数据分析立下汗马功劳. R中已经有一个Spatial软件包.通过library(sp)即可加载,如果提示没有安装,使用install.packages("sp")进行安装即可,安装过程中需要选择一个软件分发站的镜像. 然后使用getClass("Spatial")即可查看类的信息.返回信息如下: > getClass("Spati

Yii2.0实现语言包切换功能

在yii2.0高级模板框架中,以前台为例,首先  在前台frontend 下面建立  messages/zh-CN 在 messages文件夹中创建一个文件:  ①common.php                                                     如果是使用的后台目录,就在  backend/config/main.php 中添加如下的配置文件return  [                     'language'=>'zh-CN',//选择中文

用c语言实现日志功能

// 参考链接 // C语言实现写入日志文件 https://blog.csdn.net/sunlion81/article/details/8647028 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #ifdef WIN32 #include <windows.h> #else #include <unistd.h> //

用C语言socket RAW功能实现同一台主机两个网口间数据收发

1,本例子使用一台PC,有两个网口,OS为CENTOS 6.8,然后使用两条网线分别都连接到同一个交换机上,当数据经过交换机时,交换机的数据灯会闪烁,否则就没有数据通过交换机. 2,开始测试,刚开始理所当然的想到的是TCP Server/TCP Client模式,建立socket     int server_sockfd = socket(AF_INET,SOCK_STREAM, 0);     struct sockaddr_in server_sockaddr;     server_so

转:用C语言扩展Python的功能

转自:http://www.ibm.com/developerworks/cn/linux/l-pythc/ 一.简介 Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已经开始受到越来越多人的青睐,并且被屡屡成功地应用于各类大型软件系统的开发过程中. 与其它普通脚本语言有所不同,Python程序员可以借助Python语言提供的API,使用C或者C++来对Python进行功能性扩展,从而即可以利用Python方便灵活