# zxl **Repository Path**: zhang-xiaolin12/zxl ## Basic Information - **Project Name**: zxl - **Description**: zxl:专注于高效算法与技术实现的开源团队,致力于提升软件开发效率与质量,涵盖工具链、框架及应用开发。 - **Primary Language**: Unknown - **License**: OSL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-28 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C语言文本计数统计程序 #### 介绍 本项目是基于 C 语言开发的轻量级文本统计工具,功能类似 Linux 系统的 wc 命令,支持对文本文件的字符、单词、句子及代码相关行数(扩展功能)进行精准统计,适用于日常文本分析、代码审计等场景。 项目采用迭代式开发,从空项目逐步完善核心功能与扩展功能,并通过单元测试保障代码正确性,整体设计简洁、性能高效,支持 Windows、Linux 等多平台编译运行。 #### 功能说明 | 功能分类 | 功能描述 | 统计规则 |命令参数| |---|---|---|---| | 基础功能 | 统计字符数 | 包含所有字符(字母、数字、标点、空格、换行符等),中文在 UTF-8 编码下按 3 字节 / 字统计 | -c | | 基础功能 | 统计单词数 | 仅字母组成的连续字符视为单词,非字母(空格、标点、数字)作为单词分隔符 | -w | | 基础功能 | 统计句子数 | 以 .(句号)、?(问号)、!(感叹号)结尾的内容视为一个句子 |-s | | 拓展功能 | 统计代码行/空行/注释行 | 代码行:非空、非注释的有效代码行;空行:仅含空白字符(空格、换行)的行;注释行:含 //(行注释)或 /*...*/(块注释)的行(适配 C 语言注释规则) | -l | #### 文件列表说明 | 文件名称 | 文件类型 | 核心作用 | |---|---|---| |v0.1 v2.0 v3.0 | 源文件 | 项目主程序,包含基础功能(字符 / 单词 / 句子统计)、扩展功能(代码行统计)及命令行参数解析逻辑 | | wc.h | 头文件 | 声明 wc.c 中的所有功能函数(如 count_chars/count_lines),供单元测试代码调用 | | test_wc_basic.c | 测试源文件 | 基于 CUnit 框架的单元测试代码,覆盖基础功能的 12 个测试用例(空文件、特殊字符、中英文混合等场景) | | test_empty.txt | 测试文件 | 空文件,用于测试 “无数据场景下的统计正确性” | | test_basic.txt | 测试文件 | 基础英文文本文件(内容:Hello world! This is a test. How are you?),用于验证常规统计逻辑 | | test_special.txt | 测试文件 | 含特殊字符 / 数字的文件(内容:Hello, world! 123 test... ---),验证特殊输入兼容性 | | test_chinese.txt | 测试文件 | 中英文混合文件(内容:你好!这是中文测试。Hello C!),验证多语言统计正确性 | | test_multi_line.txt | 测试文件 | 多换行文本文件(内容:Line 1.
Line 2?
Line 3!),验证换行对句子统计的影响 | #### 运行例程及结果 例程 1:基础功能 - 统计英文文本(test_basic.txt) 预期结果:Word count: 9 实际输出:与预期一致,功能正常。 例程 2:扩展功能 - 统计代码文件 预期结果(参考值): Code lines: 85 Blank lines: 12 Comment lines: 8 实际输出:根据实际代码行数调整,统计逻辑无误差。 例程 3:单元测试 - 验证基础功能正确性 预期结果:所有 12 个测试用例均显示 OK,无失败用例,示例输出片段: Running test: Test Empty File Chars ... OK Running test: Test Basic Text Chars ... OK Running test: Test Special Chars ... OK Total Tests Run: 12, Failures: 0, Errors: 0 实际输出:无失败用例,说明基础功能逻辑完全正确 #### 版本历史 1. v0.1: 项目基础结构搭建 2. v0.2: 实现基础计数功能(字符、单词、句子) 3. v0.3: 实现扩展功能(代码行、空行、注释行统计)