c++函数式编程:统计文件字符串,文件流
头文件
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <algorithm>
#include <vector>
统计方法
int count_lines(const std::string &filename)
{std::ifstream in{filename};return std::count(std::istreambuf_iterator<char>{in},std::istreambuf_iterator<char>{},'\n');
}
std::istreambuf_iterator
读取输入缓冲区,板参数只能是char和wchar_t类型,std::istreambuf_iterator{}即默认构造的为end,例子如下
读取字符串
void readString()
{std::istringstream ins{"abcd"};std::string str(std::istreambuf_iterator<char>{ins},std::istreambuf_iterator<char>{});std::cout<<str<<std::endl;
}
扩展:istringstream类用于执行C++风格的串流的输入操作
例子:分割被空格、制表符等符号分割的字符串,类型转换
std::istringstream ins{"123 456 789"};int nTmp = 0;while(ins >> nTmp){std::cout<<nTmp<<std::endl;}
扩展:ostringstream 类用于执行C风格的串流的输出操作
void writeString()
{std::ostringstream os{"123 456",std::ios_base::ate};os << " 789";std::cout<<os.str()<<std::endl;
}
扩展: stringstream类同时可以支持C风格的串流的输入输出操作
void readwriteString()
{std::stringstream streeam;streeam << "123 ";streeam << "789";int nTmp = 0;while(streeam >> nTmp){std::cout<<nTmp<<std::endl;}std::cout<<streeam.str()<<std::endl;
}
读取所文件所有内容到字符串,包括\n等空白字符
void readAllText(const std::string &filename)
{std::ifstream in{filename};std::string str(std::istreambuf_iterator<char>{in},std::istreambuf_iterator<char>{});std::cout<<str<<std::endl;
}
读取所文件所有内容到容器,包括\n等空白字符
void readAllTextVec(const std::string &filename)
{std::ifstream in{filename};std::vector<char> vec{std::istreambuf_iterator<char>{in},std::istreambuf_iterator<char>{}};std::cout<<vec.size()<<std::endl;
}
有重载++、*
void readAllTextCount(const std::string &filename)
{unsigned int nCount = 0;std::ifstream in{filename};std::istreambuf_iterator<char> it{in},end;for(;it != end;it++){if(*it == '\n'){nCount++;}}std::cout<<"nCount:"<<nCount<<std::endl;
}
相关文章:
c++函数式编程:统计文件字符串,文件流
头文件 #include <iostream> #include <fstream> #include <string> #include <sstream> #include <algorithm> #include <vector>统计方法 int count_lines(const std::string &filename) {std::ifstream in{filename};return std:…...
scp命令----跨服务器传输文件
scp命令 Linux scp 命令用于 Linux 之间复制文件和目录。 scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 一、Linux scp 命令 以下是scp命令常用的…...
React Dva项目中模仿网络请求数据方法
我们都已经选择react了 那么自然是一个前后端分离的开发形式 至少我在公司中 大部分时候是前后端同时开发的 一般你在开发界面没有接口直接给你 但你可以和后端约定数据格式 然后在前端模拟数据 我们在自己的Dva项目中 在根目录下的 mock 目录下创建一个js文件 我这里叫 filmDa…...
【云原生】Docker容器命令监控+Prometheus监控平台
目录 1.常用命令监控 docker ps docker top docker stats 2.weave scope 1.下载 2.安装 3.访问查询即可 3.Prometheus监控平台 1.部署数据收集器cadvisor 2.部署Prometheus 3.部署可视化平台Gragana 4.进入后台控制台 1.常用命令监控 docker ps [rootlocalhost ~…...
DBA 职责及日常工作职责
DBA 职责及日常工作职责: 1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境. 2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案. 3.根据开发人员设计的应用系统需求创建数据库存储结构. 4.根据开发人员设计的应用系统需求创建数据库对象 5…...
如何利用量化接口进行数据分析和计算?
量化交易作为一种利用数据和算法进行投资的方式,数据分析和计算是量化交易的核心。量化接口作为连接量化交易者和交易所的桥梁,提供了获取市场数据和执行交易指令的功能,为量化交易的数据分析和计算提供了基础。 一、数据获取: 市…...
electron-egg 加密报错
electron框架:electron-egg 解决方式 npm uninstall bytenode npm install bytenode1.3.6node:internal/modules/cjs/loader:928 throw err; ^ Error: Cannot find module ‘node:assert/strict’ Require stack: D:\electron-egg-test\new-electron-egg\electr…...
循环队列的基本操作(3种处理方式,2种实现方式)
为区分队空队满有3种处理方式: ①牺牲一个单元 ②增设表示元素个数的数据成员 ③增设tag数据成员 1.front->队头元素,rear->队尾元素下一位置 1.1牺牲一个单元 1.1.1定义 #define MaxSize 50 typedef struct {ElemType data[MaxSize];int fron…...
react的特点
React的特点包括以下几个方面: 组件化:React将用户界面分解成小而独立的组件,每个组件都有自己的状态和属性。通过组合这些组件,可以构建复杂而灵活的用户界面。 虚拟DOM:React使用虚拟DOM(Virtual DOM&am…...
MATLAB实现图像处理:图像识别、去雨、去雾、去噪、去模糊等等(附上20个完整仿真源码)
图像处理是计算机视觉领域的重要研究方向,MATLAB是一种功能强大的数学计算软件,可以用于图像处理和分析。下面是一些简单的MATLAB图像处理代码示例,包括图像增强、边缘检测、形态学处理、特征提取等。 文章目录 1. 图像增强2. 边缘检测3. 形态…...
cmake stm32 模板
文件结构 ├─.vscode ├─build ├─cmake ├─Drivers │ ├─CMSIS │ │ ├─Device │ │ │ └─ST │ │ │ └─STM32F1xx │ │ │ ├─Include │ │ │ └─Source │ │ │ └─Templates │ │ └─Include │ └─STM32F1xx_HAL_Driver │ ├─Inc │ │ └─Leg…...
STM32 UDS Bootloader开发-上位机篇-CANoe制作(2)
文章目录 前言CANoe增加NodeCAPL脚本获取GUI中的参数刷写过程诊断仪在线接收回调函数发送函数总结前言 在上一篇文章中,介绍了UDS Bootloadaer上位机软件基于CANoe的界面设计。本文继续介绍CAPL脚本的编写以实现刷写过程。 CANoe增加Node 在开始编写CAPL之前,需要在Simula…...
实例026 随机更换主界面背景
实例说明 如果开发的软件用户使用频率非常高,可以为程序设计随机更换背景的程序。这样不但可以使用户心情愉快,也增加了软件的人性化设计。下面的界面就是一个随机更换主界面的例子,效果如图1.26所示。 技术要点 随机更换主界面背景使用了…...
PostgreSQL 简洁、使用、正排索引与倒排索引、空间搜索、用户与角色
PostgreSQL使用 PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 9.0 :支持64位windows系统,异步流数据复制、Hot Standby;生产环境主流的版本是PostgreSQL 12 BSD协议 与 GPL协议 …...
querySubObject(“Cells(int,int)“, j,i)->property(“Value“)读不到数据问题
在使用qt读取Excel文件内容的时候,使用下列方式: worksheet->querySubObject("Cells(int,int)", j,i)->property("Value").toString(); 不会报错,但读取不到数据。多次尝试发现应该将property改为dynamicCall 下…...
AutoSAR系列讲解(实践篇)10.2-EcuM的上下电流程
目录 一、上电(StartUp) 二、下电(Shutdown) 三、睡眠(Sleep) 上下电,说白了就是给Ecu上下电后,Ecu的代码执行顺序。这里还讲到了大家可能经常会用到的Sleep流程,主要就是可以归纳为以下这张图,大家 掌握这张图就基本掌握了EcuM的上下电流程了。这张图的具体内容博…...
科研院所用泛微搭建信创办公平台,统一办公,业务融合,安全便捷
国家全面推动重要领域的信创改造工作,要求到2027年底,对综合办公、经营管理、生产运营等系统实现“应替尽替、能替则替”。 科研机构作为智力、知识密集型机构,承载着大量数据、信息资产,数字化程度高,业务系统多样&a…...
基于LoRA进行Stable Diffusion的微调
文章目录 基于LoRA进行Stable Diffusion的微调数据集模型下载环境配置微调过程 推理WebUI部署 基于LoRA进行Stable Diffusion的微调 数据集 本次微调使用的数据集为: LambdaLabs的Pokemon数据集 使用git clone命令下载数据集 git clone https://huggingface.co/…...
C++STL序列式容器——list容器及其常用操作(详解)
纵有疾风起,人生不言弃。本文篇幅较长,如有错误请不吝赐教,感谢支持。 💬文章目录 一.list容器基本概念二.list容器的常用操作list构造函数list迭代器获取list特性操作list元素操作list赋值操作list的交换、反转、排序、归并操作…...
【雕爷学编程】MicroPython动手做(15)——掌控板之AB按键2
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...
通过curl命令快速测试Taotoken的API连通性与返回
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令快速测试Taotoken的API连通性与返回 在集成大模型服务时,直接使用curl命令进行API测试是一种高效且通用的…...
开源AI工具真能替代商业方案?2024最新Benchmark数据揭示92%团队忽略的关键短板
更多请点击: https://codechina.net 第一章:开源AI工具真能替代商业方案?2024最新Benchmark数据揭示92%团队忽略的关键短板 2024年Q2由MLPerf与OpenLLM-Bench联合发布的跨模态AI工具基准报告覆盖全球147个生产级AI部署团队,结果显…...
日志留存不合规?审计追溯难定位?DeepSeek 3.2+审计日志的4层加密+时间戳锚定机制,立即规避等保2.0扣分风险
更多请点击: https://intelliparadigm.com 第一章:DeepSeek审计日志功能全景概览 DeepSeek审计日志是企业级AI平台中保障合规性、可追溯性与安全治理的核心能力。它系统性地记录模型调用、权限变更、配置更新、数据访问等关键行为,支持毫秒级…...
Windows苹果设备连接问题终结者:一键安装驱动实现完美兼容
Windows苹果设备连接问题终结者:一键安装驱动实现完美兼容 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh…...
3分钟上手!BilibiliDown:免费开源B站视频下载工具终极指南
3分钟上手!BilibiliDown:免费开源B站视频下载工具终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.c…...
ATB:让 Transformer 推理快得像开了挂——昇腾算子加速库技术解析
Transformer 模型推理的瓶颈在哪里?KV Cache 管理、算子融合、分布式调度。ATB(ascend-transformer-boost)把这些问题一次性解决,让推理性能提升 2-3 倍。 上个月帮一个团队做推理优化,他们的 LLaMA-2 70B 模型在 NPU …...
【DeepSeek R1-VL流式优化白皮书】:基于127个真实生产案例的RTT压缩公式与chunk_size黄金阈值表
更多请点击: https://intelliparadigm.com 第一章:DeepSeek R1-VL流式响应优化的工程意义与挑战全景 DeepSeek R1-VL作为多模态大模型,其视觉-语言联合推理能力依赖于高吞吐、低延迟的流式响应机制。在实时图文理解、交互式AI助手、边缘端多…...
揭秘ChatGPT脑筋急转弯生成底层逻辑:基于LLM推理链拆解+语义悖论建模,准确率提升67%(实测数据)
更多请点击: https://kaifayun.com 第一章:ChatGPT脑筋急转弯生成的范式跃迁 传统脑筋急转弯生成依赖人工规则库或模板填充,例如预设“谐音梗”“偷换概念”“歧义句式”等分类标签,再通过正则匹配与词性替换组合输出。而以ChatG…...
突破下载瓶颈:百度网盘Mac版SVIP加速完全指南
突破下载瓶颈:百度网盘Mac版SVIP加速完全指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否曾因百度网盘Mac版的龟速下载而焦躁&am…...
QQ空间数据备份:3步完成永久保存青春记忆的终极指南
QQ空间数据备份:3步完成永久保存青春记忆的终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里那些珍贵的青春记忆会随着时间流逝而消失ÿ…...
