当前位置: 首页 > news >正文

班级网站建设论文/指数基金怎么买

班级网站建设论文,指数基金怎么买,wordpress当中加入论坛,哪家网站专做女性服装CFile类 信息源自官方文档:https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfile-class?viewmsvc-170。 CFile是Microsoft 基础类文件类的基类。它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。CFile与…

CFile类

信息源自官方文档:https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfile-class?view=msvc-170。

CFile是Microsoft 基础类文件类的基类。它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。CFile与CArchive类共同使用,支持MFC对象的串行化。

CFile采用API函数做内核:

1.Open()

virtual BOOL Open(LPCTSTR lpszFileName,UINT nOpenFlags,CFileException* pError = NULL);virtual BOOL Open(LPCTSTR lpszFileName,UINT nOpenFlags,CAtlTransactionManager* pTM,CFileException* pError = NULL);

a. lpszFileName
一个包含所需文件的路径的字符串。 该路径可以是相对路径、绝对路径或网络名称 (UNC)。

b.nOpenFlags
用于定义文件的共享和访问模式的 UINT。 它指定打开文件时要执行的操作。 可以使用按位“或”(|) 运算符来组合选项。 一个访问权限和一个共享选项是必需的;modeCreate 和 modeNoInherit 模式是可选的。 有关模式选项的列表,请参阅 CFile 构造函数。

c.pError
指向接收失败操作状态的现有文件异常对象的指针。

d.pTM
指向 CAtlTransactionManager 对象的指针

这里附带说一下,我们在Windows文件中常会看见一种叫文件句柄的东西,其定义如下:

在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数ReadFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作系统。当完成任务后,再通过调用系统函数来关闭该文件。

这里常见的参数其实就第一和第二个参数,你有路径,有打开方式,打开一个文件就不是问题。

打开方式(nOpenFlags):

CFile::modeCreate 文件以创建形式打开(创建一个新的文件,老文件数据将会丢失 ,可以配合CFile::modeNoTruncate 一起使用,不会覆盖老文件)CFile::modeRead  采用读取方式打开文件CFile::modeWrite 采用写入方式打开文件CFile::modeReadWrite 采用读写方式打开文件CFile::modeNoTruncate 采用不截断形式打开文件(与CFile::modeCreate配合使用在文件存在的情况下不会创建新的文件, 与CFile::modeWrite配合使用在文件有数据的情况下写入数据不会清空文件数据(会存在数据覆盖现象,下面会讲文件写入位置设置方法))CFile::modeNoInherit 防止这个将要被打开的文件来源于子进程(实际几乎用不到)CFile::typeBinary 文件数据将会以二进制的形式显示CFile::shareDenyNone 采用共享形式打开文件(这个文件在不做读写的情况下打开)函数内部调用API:
CreateFile(lpszFileName, dwAccess, dwShareMode, &sa, dwCreateFlag, dwFlags, NULL);

2.GetLength()

int nlen = file_.GetLength();
//获取文件的当前总长度(读或写文件时可以随时调用函数查看文件的长度)方法函数内部调用API:
GetFileSize(m_hFile, &liSize.HighPart);

3.Read()

char GetStr[4096] = {0};
file_.Read(GetStr,4096);
//读取文件(串口)方法 函数内部调用API:
ReadFile(m_hFile, lpBuf, nCount, &dwRead, NULL);
//内部采用同步读取方式(在串口读取方面我更喜欢异步方式,相关参考我的API串口异步文章)

在官方文档中描述为:

virtual UINT Read(void* lpBuf,UINT nCount);

4.Write()

char GetStr[4096] = {0};
memcpy(GetStr,"123yui",sizeof(char) * 6);
file_.Write(GetStr,4096);
//写入文件(串口)方法 函数内部调用API:
WriteFile(m_hFile, lpBuf, nCount, &nWritten, NULL);

5.Close()

file_.Close();
//文件关闭方法(不需要操作这个打开文件时随手释放文件句柄)函数内部调用API:
CloseHandle(m_hFile);

这里如果都是内部使用的话,全部都是基于C的。没有UNICODE编码,情况会比较简单。当我们需要用到MFC问题时,会引入宽字符的CString变量,此时使用CStdioFile这个子类会更好。

CStdioFile类

信息源自官方文档:https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cstdiofile-class?view=msvc-170。

它时CFile的子类,比较关键的是它对READ、SEEK、WRITE这三个函数进行了重写。

它可以执行readstring函数,直接提取出LPTSTR类型的CString来。

virtual LPTSTR ReadString(LPTSTR lpsz,UINT nMax);virtual BOOL ReadString(CString& rString);

这里的读取是一行一行的读,比起CFile来说就灵活的多了。

实战案例

我们准备如下MFC程序:

在这里插入图片描述

准备如此一个CSV文件:

在这里插入图片描述

在HIT按钮下添加如下指令

void CMFCCSVLABDlg::OnBnClickedHit()
{// TODO: 在此添加控件通知处理程序代码CFile file;file.Open(_T("./test.csv"), CFile::modeRead);char buf[1024];file.Read(buf,1024);CString str(buf);MessageBox(str,_T("str"));file.Close();CStdioFile CSFile;CSFile.Open(_T("./test.csv"), CFile::modeRead);CString C_buf_1;CSFile.ReadString(C_buf_1);MessageBox(C_buf_1, _T("C_buf_1"));CString C_buf_2;CSFile.ReadString(C_buf_2);MessageBox(C_buf_2, _T("C_buf_2"));CSFile.Close();
}

可以看到把两种不同的读取方式都试过了,实际的结果为:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

可以看到结论已经很清晰了。怎么样读取数据,就这么简单。

相关文章:

打怪升级之CFile类

CFile类 信息源自官方文档:https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfile-class?viewmsvc-170。 CFile是Microsoft 基础类文件类的基类。它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。CFile与…...

[css]通过网站实例学习以最简单的方式构造三元素布局

文章目录二元素布局纵向布局横向布局三元素布局b站直播布局实例左右-下 布局左-上下 布局上下-右 布局方案一方案二后言二元素布局 在学习三元素布局之前,让我们先简单了解一下只有两个元素的布局吧 两个元素的相对关系非常简单,不是上下就是左右 纵向布…...

【冲刺蓝桥杯的最后30天】day6

大家好😃,我是想要慢慢变得优秀的向阳🌞同学👨‍💻,断更了整整一年,又开始恢复CSDN更新,从今天开始更新备战蓝桥30天系列,一共30天,如果对你有帮助或者正在备…...

ssm框架之spring:浅聊IOC

IOC 前面体验了spring,不过其运用了IOC,至于IOC( Inverse Of Controll—控制反转 ) 看一下百度百科解释: 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则&#x…...

pytest初识

一、单元测试框架 (1)什么是单元测试框架? 单元测试是指在软件开发中,针对软件的最小单元(函数、方法)进行正确性的检查测试 (2)单元测试框架 java:junit和testng pytho…...

设计模式~责任链模式(Chain of Responsibility)-12

目录 (1)优点 (2)缺点 (3)使用场景 (4)注意事项: (5)应用实例: (6)经典案例 代码 责任链, …...

【ElasticSearch】(一)—— 初识ES

文章目录1. 了解ES1.1 elasticsearch的作用1.2 ELK技术栈1.3 elasticsearch和lucene1.4 为什么不是其他搜索技术?1.5 总结2. 倒排索引2.1 正向索引2.2 倒排索引2.3 正向和倒排3. ES的一些概念3.1 文档和字段3.2 索引和映射3.3 mysql与elasticsearch1. 了解ES Elasti…...

MySQL 事务隔离

MySQL 事务隔离事务隔离实现事务的启动ACID : 原子(Atomicity)、一致(Consistency)、隔离(Isolation)、永久(Durability) 多个事务可能出现问题 : 脏读 (dirty read) , 不可重复读 (non-repeatable read) , 幻读 (phantom read) 事务隔离级别 : 读未提交 (read uncommitted)…...

基础06-JS中for-in和for-of有什么区别

for…in 和 for…of 的区别 题目 for…in 和 for…of 的区别 key 和 value for…in 遍历 key , for…of 遍历 value const arr [10, 20, 30] for (let n of arr) {console.log(n) }const str abc for (let s of str) {console.log(s) }function fn() {for (let argument…...

AI视频智能分析EasyCVR视频融合平台录像计划模块搜索框细节优化

EasyCVR支持海量视频汇聚管理,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等视频服务。在录像功能上,平台可支持: 根据业务场景自定义录像计划,可支持7*24H不间断录像,支持…...

TCP和UDP对比

TCP和UDP对比 UDP(用户数据报协议) 无连接(指的是逻辑连接关系,不是物理上的连接) 支持单播、多播以及广播,也就是UDP支持一对一、一对多、一对全 面向应用报文的,对应用层交付的报文直接打包 无连接不可靠的传输服务(适用于IP电话、视频会议等实时应用),不使用流量控制和…...

CVS Health 西维斯健康EDI需求

CVS Health西维斯健康在特拉华州成立,通过旗下的 CVS Pharmacy 和 Longs Drugs 零售店以及 CVS.com 电商提供处方药、美容产品、化妆品、电影和照片加工服务、季节性商品、贺卡和方便食品。CVS Health通过使高质量的护理变得更经济、更易获得、更简单、更无缝&#…...

Anaconda配置Python科学计算库SciPy的方法

本文介绍在Anaconda环境中,安装Python语言SciPy模块的方法。 SciPy是基于Python的科学计算库,用于解决科学、工程和技术计算中的各种问题。它建立在NumPy库的基础之上,提供了大量高效、易于使用的功能,包括统计分析、信号处理、优…...

数据库基本功之复杂查询的子查询

子查询返回的值可以被外部查询使用,这样的复合查询等效与执行两个连续的查询. 1. 单行单列子查询 (>,<,,<>,>,<)内部SELECT子句只返回一行结果 2.多行单列子查询 (all, any, in,not in) all (>大于最大的,<小于最小的) SQL> select ename, sal from…...

脑机接口科普0019——大脑的分区及功能

本文禁止转载&#xff01;&#xff01;&#xff01;&#xff01; 在前文脑机接口科普0018——前额叶切除手术_sgmcy的博客-CSDN博客科普中&#xff0c;有个这样的一张图&#xff1a; 这个图呢&#xff0c;把大脑划分为不同的区域&#xff0c;然后不同的区域代表不同的功能。 …...

阿里云服务器使用教程:CentOS 7 安装JDK及Tomcat(以jdk1.8、tomcat9.0.37为例)

目录 1、下载JDK及Tomcat的安装包并上传至服务器 2、安装JDK 3、安装Tomcat 4、Tomcat启动后无法打开Tomcat首页的原因 1、下载JDK及Tomcat的安装包并上传至服务器 &#xff08;1&#xff09;下载JDK1.8版本压缩包 官网&#xff1a;Java Downloads | Oracle &#xff08…...

Ubuntu20.04下安装vm17+win10/11

一、安装vmware17 1、官网下载 vmware官网&#xff1a;https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html 2、安装依赖 sudo apt update sudo apt install build-essential linux-headers-generic gcc make3、权限和安装 到下载的目录下…...

Kalman Filter in SLAM (1) ——Data Fusion and Kalman Filter(数据融合和卡尔曼滤波)

文章目录0. 参考资料1. Intro Example 例子引入1.1. 测量硬币直径1.2. 思考2. Data Fusion 数据融合2.1. 数据融合在做什么&#xff1f;2.2. 数据融合的前提——不确定度2.3. 数据融合的结果——统计意义下的最优估计3. State Space Representation 状态空间表达式3.1. 状态方程…...

黑马程序最后

这里写自定义目录标题内建stl常用算法adjacent_findbinary_searchcountcount if常用排序算法常用拷贝和替换replace常用算术生成算法常用集合算法https://gitee.com/jiangjiandong/Cpp-0-1-Resource/blob/master/%E7%AC%AC5%E9%98%B6%E6%AE%B5-C%E6%8F%90%E9%AB%98%E7%BC%96%E7…...

u盘系统文件删除后的五种恢复方法

U盘是我们日常生活中使用较为普遍的移动存储设备&#xff0c;由于其便携性和易用性广受人们的欢迎。然而&#xff0c;在我们使用U盘的过程中&#xff0c;经常会出现误删文件的情况&#xff0c;例如本来要作为启动盘的u盘&#xff0c;误删里面的系统文件怎么办&#xff1f;当U盘…...

【玩转c++】List讲解和模拟底层实现

本期主题&#xff1a;list的讲解和模拟实现博客主页&#xff1a;小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限&#xff0c;出现错误希望大家不吝赐1.list的介绍和使用1.1.list的介绍1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器&…...

【Python】特征编码

特征编码1. 独热编码(离散变量编码) sklearn.preprocessing.OneHotEncoder1.1 原理 & 过程1.2 封装函数2. 连续变量分箱(连续变量编码) sklearn.preprocessing.KBinsDiscretizer2.1 原理2.2 等宽分箱 KBinsDiscretizer(strategyuniform)2.3 等频分箱 KBinsDiscretizer(stra…...

前端开发者必备的Nginx知识

nginx在应用程序中的作用 解决跨域请求过滤配置gzip负载均衡静态资源服务器…nginx是一个高性能的HTTP和反向代理服务器&#xff0c;也是一个通用的TCP/UDP代理服务器&#xff0c;最初由俄罗斯人Igor Sysoev编写。 nginx现在几乎是众多大型网站的必用技术&#xff0c;大多数情…...

在 KubeSphere 中开启新一代云原生数仓 Databend

作者&#xff1a;尚卓燃&#xff08;https://github.com/PsiACE&#xff09;&#xff0c;Databend 研发工程师&#xff0c;Apache OpenDAL (Incubating) PPMC。 前言 Databend 是一款完全面向云对象存储的新一代云原生数据仓库&#xff0c;专为弹性和高效设计&#xff0c;为您…...

华为OD机试 - 最优资源分配(C 语言解题)【独家】

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:最优资源…...

求数组的中心索引

给你一个整数数组 nums &#xff0c;请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端&#xff0c;那么左侧数之和视为 0 &#xff0c;因为在下标的左侧不存在元素。这一点…...

Ubuntu 搭建NextCloud私有云盘【内网穿透远程访问】

文章目录1.前言2.本地软件安装2.1 nextcloud安装2.2 cpolar安装3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置4.公网访问测试5. 结语1.前言 对于爱好折腾的电脑爱好者来说&#xff0c;Linux是绕不开的、必须认识的系统&#xff08;大部分服务器都是采用Linux操作系统&a…...

如何使用vue创建一个完整的前端项目

搭建Vue项目的完整流程可以分为以下几个步骤&#xff1a;安装Node.js和npm&#xff1a;Vue.js是基于Node.js开发的&#xff0c;因此在开始搭建Vue项目之前&#xff0c;需要先安装Node.js和npm&#xff08;Node.js的包管理器&#xff09;。可以从官网下载Node.js安装包并安装。安…...

http组成及状态及参数传递

http组成及状态及参数传递 早期的网页都是通过后端渲染来完成的&#xff1a;服务器端渲染&#xff08;SSR&#xff0c;server side render&#xff09;&#xff1a; 客户端发出请求 -> 服务端接收请求并返回相应HTML文档 -> 页面刷新&#xff0c;客户端加载新的HTML文档&…...

USART_GetITStatus与 USART_GetFlagStatus的区别

文章目录共同点不同点USART_GetITStatus函数详解USART_GetFlagStatus函数共同点 都能访问串口的SR寄存器 不同点 USART_GetFlagStatus(USART_TypeDef USARTx, uint16_t USART_FLAG)&#xff1a;* 该函数只判断标志位&#xff08;访问串口的SR寄存器&#xff09;。在没有使能…...