Linux C/C++ 开发(学习笔记三):Linux C编程案例

简介: Linux C/C++ 开发(学习笔记三):Linux C编程案例

一、统计文件单词数量(文件操作)

目的是为了统计txt文档中,单词数量

方案是 状态机

定义两状态,1:在字符中(IN) 2.在字符外(OUT)

因此只需要, OUT->IN的过程,即单词数量+1。默认初始化状态为OUT

(算法还需要严密,比如遇到can’t,换行可能会加-来表示换行)

#include<stdio.h>
#include<iostream>
using namespace std;
#define OUT 0
#define IN 1
#define INIT OUT
int count_word(char* filename){
    int status=INIT;
    FILE *fp=fopen(filename,"r");
    if(fp==NULL) return -1;
    char c;
    //只要统计由OUT变为IN的次数
    int word=0;
    while((c=fgetc(fp))!=EOF){
        if(!isalpha(c)){
            status=OUT;
        }
        else if(OUT==status){
            status=IN;
            word++;
        }
    }
    return word;
}
int main(int argc,char *argv[]){
    if(argc<2) return -1;
    printf("word:%d\n",count_word(argv[1]));
}

shell中进行g++编译和运行

g++ test.cpp -o test
./test a.txt

二、通讯录


目录
打赏
0
0
0
0
7
分享
相关文章
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
深入浅出 C++ STL:解锁高效编程的秘密武器
C++ 标准模板库(STL)是现代 C++ 的核心部分之一,为开发者提供了丰富的预定义数据结构和算法,极大地提升了编程效率和代码的可读性。理解和掌握 STL 对于 C++ 开发者来说至关重要。以下是对 STL 的详细介绍,涵盖其基础知识、发展历史、核心组件、重要性和学习方法。
深入理解C++模板编程:从基础到进阶
在C++编程中,模板是实现泛型编程的关键工具。模板使得代码能够适用于不同的数据类型,极大地提升了代码复用性、灵活性和可维护性。本文将深入探讨模板编程的基础知识,包括函数模板和类模板的定义、使用、以及它们的实例化和匹配规则。
C++一分钟之-嵌入式编程与裸机开发
通过这些内容的详细介绍和实例解析,希望能帮助您深入理解C++在嵌入式编程与裸机开发中的应用,提高开发效率和代码质量。
62 13
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
108 0
Linux C/C++ 编程 内存管理之道:探寻编程世界中的思维乐趣
Linux C/C++ 编程 内存管理之道:探寻编程世界中的思维乐趣
153 0
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
224 0
|
10月前
|
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
139 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等