• 2024-11-05浮点数格式化小探究
    在最近的工作中,遇到一个浮点数格式化问题,蛮有意思的,是之前所没遇到过的知识点,在此整理总结。问题描述一句话描述问题,将一个3位小数的浮点数,格式化为2位小数的,是什么样的舍入规则?一般想着的是四舍五入,但实际不是,具体如何,看如下程序。测试代码如下:voidtest_float_format(){
  • 2024-04-10一个使用HOOK/WH_GETMESSAGE解决软件交互问题的案例
    一、问题背景:1、某设计软件AD,可以打开/编辑二维电路设计界面,其交互方式如下:(1)鼠标右键按下拖动(2)鼠标滚轮上下移动(3)鼠标滚轮按下+鼠标移动缩放(4)ctrl+鼠标滚轮缩放   该软件的交互方式可以通过软件设置修改,但是基本的使用习惯就是如此,用户的一个场景是通过每台机器msts
  • 2024-04-03C的+-乘除
    正则表达式intmain(intargc,char*argv[],char*envp[]){charszBuf[8]={0};//scanf("%7s",szBuf);//输入检查%s无限输入//scanf("%7[0-9]s",szBuf);//只允许输入0123456789123a4567从a截断123//scanf("%7[1,3,5,7,9]s",szBuf);//只允
  • 2023-11-30C++中如何使用内存文件
    #include<iostream>#include<strstream>usingnamespacestd;intmain(){charszBuf[16]={"helloworld!"};std::strstreambufmemo(szBuf,sizeof(szBuf));std::istreamss(&memo);ss.seekg
  • 2023-04-28为程序添加日志
    这里,介绍一个头文件,客制化了日志,方便我们调试。在编写程序的时候,添加上这个头文件,就可以了。代码如下:log.h:#ifndef_LOG_H_#define_LOG_H_#include<stdio.h>#defineDEBUG_EN(1u)#if(DEBUG_EN)#defineDEBUG_MAX_SIZE512unsignedcharszBuf[DEBUG_MAX_SIZE];
  • 2022-12-26字节内存对齐问题
    编译指示强制一字节对齐:#pragmapack(push,1)structs{inta;char;};#pragmapack(pop)一些结构体转字符数组和字符数组转结构体操作:好像
  • 2022-12-16代码书写技巧 目录路径"/"代替"\"
    前言   Windows目录路径是\,Linux目录路径是/。因此如果代码书写成#include<boost\shared_ptr.hpp>将无法直接迁移到Linux下,直接编译使用,还必须修改为#include<boost
  • 2022-12-15避免内存泄露的方法
    1、问题阐述      一个大型的C++程序中最容易出现,也是最头疼的一个问题就是内存泄露,即忘记释放已经申请的内存,造成程序占用的内存不断上升,系统性能不断下降,甚至造成内