链接:https://github.com/JOHOYQ/hello-world/blob/master/MAIN.CPP
这个项目的源代码参考于叫虫群的愤怒的网友的,他实现了基本的统计字符数、单词数和行数,而且是输入文件名直接统计出结果,交互性不是很好。我做出的改进就是通if else实现用户的交互性,扩展了-a的功能,可以返回代码行/空行/注释行。
具体方法:fgetc()会返回读取到的字符,若返回EOF则表示到了文件尾,或出现了错误。统计字符时,只要当前字符不是EOF(文件结尾)计数器就直接加一。统计单词数时,当前字符为空格且直到后面没有空格,计数器加一。统计行数,只要读取的字符为‘’ ",计数器就加一。统计注释行是通过“”/“”计数,空行是“{”“}”和“ ”判断,否则为代码行。