C++常用函数定义解释

GetPrivateProfileString()
读取配置文件函数
DWORD GetPrivateProfileString(
LPCTSTR lpKeyName,//INI文件中的一个字段名
LPCTSTR lpDefaut,//lpAppName 下的一个键名
lpDefault,//如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量,可设为空(“”)
LPSTR lpReturnedString,//接收INI文件中的值的CString对象,指定一个字串缓冲区,长度至少为nSize。
DWORD nSize,//指定装载到lpReturnedString缓冲区的大小
LPCTSTR lpFileName);//完整的INI文件路径名
返回值DWORD:接收缓冲区的大小(long类型)

WritePrivateProfileString
BOOL WritePrivateProfileString(
LPCTSTR lpAppName,// INI文件中的字段名
LPCTSTR lpKeyName,// lpAppName下的一个键名又称变量名
LPCTSTR lpString,//键值也就是变量的值必须为LPCTSTR型或CString型的
LPCTSTR lpFileName);//完整的INI文件名(包含完整路径)

CreateFile
HANDLE CreateFile(
LPCTSTR lpFileName,//指定文件名的字符串指针
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
);
// dwDesiredAccess:指定文件的访问模式。可以是下列值之一:
GENERIC_READ:可以读取文件。
GENERIC_WRITE:可以写入文件。
GENERIC_EXECUTE:可以执行文件。
dwShareMode:指定文件的共享模式。可以是下列值之一:
FILE_SHARE_READ:允许其他进程读取文件。
FILE_SHARE_WRITE:允许其他进程写入文件。
FILE_SHARE_DELETE:允许其他进程删除文件。
//lpSecurityAttributes:指定文件的安全属性。如果设为 NULL,则使用默认安全
//dwCreationDisposition:指定如何创建文件。可以是下列值之一:
CREATE_NEW:如果文件不存在,则创建新文件;否则,返回 ERROR_FILE_EXISTS 错误。
TRUNCATE_EXISTING:如果文件存在,则截断文件;否则,返回 ERROR_FILE_NOT_FOUND 错误。
//dwFlagsAndAttributes:指定文件的属性。可以是下列值之一:
FILE_ATTRIBUTE_NORMAL:普通文件。
FILE_ATTRIBUTE_READONLY:只读文件。
FILE_ATTRIBUTE_HIDDEN:隐藏文件。
FILE_ATTRIBUTE_SYSTEM:系统文件。
//hTemplateFile:指定用于创建文件的模板文件句柄。如果没有模板文件,则设为 NULL。
如果 CreateFile 函数调用成功,则返回一个文件句柄;如果调用失败,则返回一个特殊的值 INVALID_HANDLE_VALUE,并可以使用 GetLastError 函数获取错误代码。

ReadFile
BOOL ReadFile(
HANDLE hFile,//指定要读取的文件的句柄
LPVOID lpBuffer,//指向存储读取数据的缓冲区的指针
DWORD nNumberOfBytesToRead,//指定要读取的字节数
LPDWORD lpNumberOfBytesRead,//变量的指针,用于返回实际读取的字节数
LPOVERLAPPED lpOverlapped//异步 I/O 的数据结构的指针。同步设为 NULL
);

WriteFile
BOOL WriteFile(
HANDLE hFile,//指定要写入的文件的句柄
LPCVOID lpBuffer,//指向包含要写入的数据的缓冲区的指针
DWORD nNumberOfBytesToWrite,//指定要写入的字节数
LPDWORD lpNumberOfBytesWritten,//变量指针,用于返回实际写入的字节数
LPOVERLAPPED lpOverlapped//异步 I/O 的数据结构的指针。同步设为 NULL
);//使用完文件后,应调用CloseHandle 函数来关闭文件句柄,以释放系统资源

sprintf
int sprintf(char *str, const char *%[flags][width][.precision][length]specifier, …);
flags(标志):表示输出的格式修饰, - 表示左对齐,+ 表示显示正负号,0 表示用 0 填充空位等。
width(宽度):输出的最小字符数,输出字符数小于宽度,用空格或 0 填充;大于宽度,不会截断。precision(精度):整数输出最小位数,不足用 0 ;浮点数输出小数位数;字符串输出最大字符数。
length(长度):表示输出的数据长度,如 h 表示短整型,l 表示长整型,L 表示长双精度型等。
specifier(说明符):输出的数据类型, c 字符,d 十进制整数,f 浮点数,s 字符串等。
char str[80];
sprintf(str, “%c”, ‘A’); // 输出字符 A
sprintf(str, “%d”, 123); // 输出十进制整数 123
sprintf(str, “%x”, 255); // 输出十六进制整数 ff
sprintf(str, “%f”, 3.14); // 输出浮点数 3.140000
sprintf(str, “%s”, “Hello”); // 输出字符串 Hello
sprintf(str, “%10d”, 123); // 输出宽度为 10 的十进制整数,右对齐,空位用空格填充: 123
sprintf(str, “%-10d”, 123); // 输出宽度为 10 的十进制整数,左对齐,空位用空格填充:123
sprintf(str, “%010d”, 123); // 输出宽度为 10 的十进制整数,右对齐,空位用 0 填充:0000000123
sprintf(str, “%+d”, 123); // 输出带正负号的十进制整数:+123
sprintf(str, “%.3d”, 123); // 输出至少 3 位的十进制整数,不足则用 0 填充:123
sprintf(str, “%.3d”, 12); // 输出至少 3 位的十进制整数,不足则用 0 填充:012
sprintf(str, “%.3f”, 3.14); // 输出保留 3 位小数的浮点数:3.140
sprintf(str, “%.3s”, “Hello”); // 输出最多 3 个字符的字符串:Hel
sprintf(str, “%ld”, 123456789L); // 输出长整型数:123456789
sprintf(str, “%Lf”, 3.1415926535897932384626433832795L); // 输出长双精度型数:3.141593

memcpy
void *memcpy(void str1, const void str2, size_t n)
str1 – 指向用于存储复制内容的目标数组,类型强制转换为 void
指针。
str2 – 指向要复制的数据源,类型强制转换为 void
指针。
n – 要被复制的字节数。
memcpy(d, s+11, 6);// 从第 11 个字符®开始复制,连续复制 6 个字符

strcpy
char *strcpy(char *dest, const char *src)
dest – 指向用于存储复制内容的目标数组。
src – 要复制的字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/456359.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

老照片如何修复变清晰?手把手教你4种模糊照片变清晰方法!

在洋溢着温情的生日聚会上,家人们围坐一堂,总会情不自禁地翻阅那些尘封已久的老照片,一同沉醉于往昔的温情岁月。然而,时光荏苒,许多承载着深情厚意的照片已变得泛黄、模糊,难以再现昔日的清晰与鲜活。但请…

vue2 a-input输入框使用正则限制为数字、英文及中文,出现吞字符和英文字符打断问题

需求是输入框限制数字、英文和中文,原始使用的正则是: replace(/[^a-zA-Z0-9\u4E00-\u9FA5]/g,)1、使用这个正则表达式使用搜狗输入法没问题,使用微软自带输入法后会存在输入英文会吞并当前光标前的字符,也有英文打断问题。 输入…

2024年【制冷与空调设备安装修理】考试及制冷与空调设备安装修理最新解析

题库来源:安全生产模拟考试一点通公众号小程序 制冷与空调设备安装修理考试参考答案及制冷与空调设备安装修理考试试题解析是安全生产模拟考试一点通题库老师及制冷与空调设备安装修理操作证已考过的学员汇总,相对有效帮助制冷与空调设备安装修理最新解…

线上遇到的问题记录(说多了都是泪)

写在前面 我觉得,工作中最有价值的就是及遇到的问题了,特别时线上这种容易让人血压升高的环境中遇到的问题,本文就是记录这些血压升高时刻。 如果你遇到什么真实环境的问题,也欢迎评论或者私信分享给我!!&…

Angular 保姆级别教程高阶应用 - RxJs

RxJS 13.1.1 什么是 RxJS ? RxJS 是一个用于处理异步编程的 JavaScript 库,目标是使编写异步和基于回调的代码更容易。 13.1.2 为什么要学习 RxJS ? 就像 Angular 深度集成 TypeScript 一样,Angular 也深度集成了 RxJS。 服务、表单、事件、全局状…

经典功率谱估计的原理及MATLAB仿真(自相关函数BT法、周期图法、bartlett法、welch法)

经典功率谱估计的原理及MATLAB仿真(自相关函数BT法、周期图法、bartlett法、welch法) 文章目录 前言一、BT法二、周期图法三、Bartlett法四、welch法五、MATLAB仿真六、MATLAB详细代码总结 前言 经典功率谱估计方法包括BT法(对自相关函数求傅…

基于Java的就业信息管理系统源码带本地搭建教程

技术框架:jQuery MySQL5.7 mybatis shiro Layui HTML CSs JS 运行环境:jdk8 IntelliJ IDEA maven3 宝塔面板 实现了就业信息管理、就业统计、用户管理等功能。有普通用户和管理员两种角色。

开源限流组件分析(三):golang-time/rate

文章目录 本系列前言提供获取令牌的API数据结构基础方法tokensFromDurationdurationFromTokensadvance 获取令牌方法reverseN其他系列API 令人费解的CancelAt是bug吗 取消后无法唤醒其他请求 本系列 开源限流组件分析(一):juju/ratelimit开源…

智能AI监测系统燃气安全改造方案的背景及应用价值

随着燃气行业的迅速发展和城市化进程的加快,燃气安全管理成为企业运营和城市管理中不可忽视的关键领域。燃气泄漏、管道破损等事故的发生不仅会造成严重的经济损失,还威胁到人民生命财产安全。传统的安全管理方法往往依赖人工巡检和手动监测,…

如何写一个视频编码器演示篇

先前写过《视频编码原理简介》,有朋友问光代码和文字不太真切,能否补充几张图片,今天我们演示一下: 这是第一帧画面:P1(我们的参考帧) 这是第二帧画面:P2(需要编码的帧&…

C2W4.LAB.Word_Embedding.Part2

理论课:C2W4.Word Embeddings with Neural Networks 文章目录 Training the CBOW modelForward propagationInitialization of the weights and biasesTraining exampleValues of the hidden layerValues of the output layerCross-entropy loss BackpropagationGr…

大家都在用的HR招聘管理工具:国内Top5排名

招聘管理工具是专为HR及招聘团队设计的数字化助手,旨在简化招聘流程,提高效率。众所周知,招聘管理工具通常集成简历收集、筛选、面试安排、候选人跟踪等功能于一体,让招聘过程更加流畅。使用招聘管理工具,不仅能节省时…

高边坡稳定安全监测预警系统解决方案

一、项目背景 高边坡的滑坡和崩塌是一种常见的自然地质灾害,一但发生而没有提前预告将给人民的生命财产和社会危害产生严重影响。对高边坡可能产生的灾害提前预警、必将有利于决策者采取应对措施、减少和降低灾害造成的损失。现有的高边坡监测技术有人工巡查和利用测…

100个候选人,没一个能讲明白什么是自动化框架?

什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间…

格姗知识圈博客网站开源了!

格姗知识圈博客 一个基于 Spring Boot、Spring Security、Vue3、Element Plus 的前后端分离的博客网站!本项目基本上是小格子一个人开发,由于工作和个人能力原因,部分技术都是边学习边开发,特别是前端(工作中是后端开…

MySQL~表的操作(创建表,查看表,修改表,删除表)

1.创建表 1.1.创建表 首先要选择需要操作的数据库,USE 数据库名,后续可以根据实际情况操作时添加。 USE fruitsales;建表语法: create table 表名( 字段名1 数据类型, 字段名2 数据类型, ); 实例:创建fruit_bak1表。 create t…

[linux]软件安装

安装方式 二进制发布包安装: 软件已经针对具体平台编译打包发布,只要解压修改配置即可 rpm安装: 软件已经按照redhat的包管理规范进行打包, 使用rpm命令进行安装,不能自行解决库依赖问题 yum安装: 一种在线软件安装方式, 本质上还是rpm安装, 自动下载…

【vim】手动安装 Leader-F

LeaderF 是一个功能强大的 Vim 插件,主要用于快速导航和搜索。它可以帮助用户在 Vim 中高效地查找文件、缓冲区、标签、函数等各种元素,极大地提高了编辑效率。 LeaderF 的安装如果按照仓库中的教程来的话可以很方便的实现安装,这里介绍一下…

【记录】VSCode|自用设置项

文章目录 1 基础配置1.1 自动保存1.2 编辑区自动换行1.3 选项卡换行1.4 空格代替制表符1.5 开启滚轮缩放 2 进阶设置2.1 选项卡不自我覆盖2.2 选项卡限制宽度2.3 选项卡组限制高度2.4 字体设置2.5 字体加粗2.6 侧边栏2.7 沉浸式代码模式 Zen Mode2.8 设置 Zen 模式的选项卡组 3…

家用wifi的ip地址固定吗?换wifi就是换ip地址吗

在探讨家用WiFi的IP地址是否固定,以及换WiFi是否就意味着换IP地址这两个问题时,我们首先需要明确几个关键概念:IP地址、家用WiFi网络、以及它们之间的相互作用。 一、家用WiFi的IP地址固定性 家用WiFi环境中的IP地址通常涉及两类&#xff1a…