• 2024-09-02多字节字符串和宽字节字符串相互转换
    #define_CRT_SECURE_NO_WARNINGS/*多字节转宽字节*/intunsafe_mbstowcs(){//设置当前的locale为用户环境变量指定的localesetlocale(LC_ALL,"");//定义多字节字符串constchar*mbstr="Hello,世界!";//计算需要的缓冲区大小size_
  • 2024-07-06wstring wstr = “中文lin”会报错,wstring wstr = L“中文lin”不会报错
    在C++中,对于wstring的使用,有几个关键点需要注意:字符串字面量的前缀:宽字符字符串字面量必须以L前缀开头,以指示编译器该字符串字面量应该被当作宽字符(wchar_t)数组来处理。源文件编码:源文件(.cpp文件)的编码需要支持字符串中的字符。对于包含中文字符的宽字符串字面量,源文
  • 2024-06-04打印特殊字符出现问号的问题
    在使用fwprintf向控制台打印诸如版权符©,或者注册商标符®时,发现输出的是问号(?),这无疑是一个字符集的问题。接收的数据是wchar_t,这个没办法变了。wchar_t为宽字符类型或双字符类型在,windows下采用的是unicode16,推测还是解析字符时使用的编码方式不正确。尝试使用chcp,更改命令行
  • 2024-05-26C库 —— <wchar.h>
    引言在C语言编程中,处理多字节和宽字符字符串是一个常见的需求。<wchar.h>头文件提供了一组函数和宏,用于处理宽字符和多字节字符。这些工具使得程序员可以编写处理国际化文本的代码,支持各种字符编码。掌握<wchar.h>库的功能对于编写处理多语言文本的C程序至关重要。本文将
  • 2024-05-06wchar_t类型理解
    wchar_t(宽字符)类型1、什么是wchar_t(宽字符)char类型通常只有8位,许多语言(如中文、日文、韩文等)的字符集包含的字符数目远超过256个,因此char类型无法直接表示这些字符。其大小通常为16位或32位(具体取决于编译器和平台),wchar_t能够表示更多的字符。2、赋值方法前面多一
  • 2024-04-04char,wchar_t,charxx_t
    引言:C语言中,字符型(char)数据类型存储字符(character),其保证了单个char所占用的资源空间的大小为该存储系统所能使用的基本字符集的最小大小;C语言定义一个字节(byte)的位数为char的位数:$$Char:1~byte\1~byte=8~bit$$字符型变量其实存储的是整型常量,可以进行相应的数
  • 2024-03-14angr使用记录
    由于毕设需要,这几天在使用angr符号执行自动化挖掘格式化字符串漏洞,但是对angr的了解不多,导致在使用的时候屡屡碰壁,在此记录一下。本来写了一个简单的通用检测脚本,但是在使用脚本对CWE-134的一个样例(SARD)进行分析时,发现无法找出漏洞点。检测脚本测试格式化字符串漏洞的逻辑很简单
  • 2024-01-20VC 编译crt不同版本,Debug/Release混用问题
    extern"C" int__CRTDECL_imp__swprintf( _Pre_notnull__Post_z_wchar_t*const_Buffer, _In_size_tconst_BufferCount, _In_z__Printf_format_string_wchar_tconst*const_Format, ...){ int_Re
  • 2023-10-09CString和LPCTSTR之间的关系和区别
    在Windows操作系统中,我们常用2种编码格式,ANSI编码和Unicode编码ANSI=>窄字节编码,一个字符(char)占用一个字节(一个字节占8位)的存储空间,也就是说一个字符占据8位(有效数据是除掉最高位的其他7位)=>C++中用char来表示这种窄字节编码的字符Unicode=>宽字节编码,一个字
  • 2023-09-22c++ chat* 转 wchar*
    wchar_t*charToWchar(constchar*src){size_tsize=strlen(src)+1;wchar_t*dest=newwchar_t[size];size_toutSize;mbstowcs_s(&outSize,dest,size,src,size-1);returndest;} stringwstr2str(constwstring&wstr)
  • 2023-09-19用ZwQueryVirtualMemory枚举进程模块
    用ZwQueryVirtualMemory枚举进程模块枚举进程模块通常可以使用诸如:CreateToolhelp32Snapshot,Module32First,Module32Next等"ToolHelpFunctions"接口来实现,并且这也是最通用的方法(从Win95就开始支持了),但是今天我们要介绍的是ntdll.dll导出的未文档化接口ZwQueryVirtualM
  • 2023-08-16获取Windows窗口
    抄自:  https://blog.csdn.net/freedom2211/article/details/131288406windowIterator.hclassCWindowIterator{private:staticchar*wchar2char(constwchar_t*wchar);staticBOOLCALLBACKEnumWindowsProc(HWNDwindow,LPARAMlParam);public:usingEnumC
  • 2023-05-20C语言函数大全-- _w 开头的函数(5)
    C语言函数大全本篇介绍C语言函数大全--_w开头的函数1._wspawnl1.1函数说明函数声明函数功能int_wspawnl(intmode,constwchar_t*cmdname,constwchar_t*arglist,...);启动一个新的进程并运行指定的可执行文件参数:mode:启动命令的模式,可以是_P_W
  • 2023-05-19C语言函数大全-- _w 开头的函数(4)
    C语言函数大全本篇介绍C语言函数大全--_w开头的函数1._wstrtime1.1函数说明函数声明函数功能wchar_t*_wstrtime(wchar_t*buffer);用于获取当前系统时间并返回一个宽字符字符串表示,格式为"HH:MM:SS"(小时:分钟:秒)参数:buffer:一个指向wchar_t类型数组
  • 2023-05-18C语言函数大全-- _w 开头的函数(3)
    C语言函数大全本篇介绍C语言函数大全--_w开头的函数1._wmkdir1.1函数说明函数声明函数功能int_wmkdir(constwchar_t*dirname);用于创建指定路径名的新目录参数:dirname:指向以null结尾的宽字符数组,该数组包含要创建的目录的路径1.2演示示例#in
  • 2023-05-13C语言函数大全-- w 开头的函数(2)
    C语言函数大全本篇介绍C语言函数大全--w开头的函数1.wcstok1.1函数说明函数声明函数功能wchar_t*wcstok(wchar_t*wcs,constwchar_t*delim,wchar_t**ptr);用于将一个长字符串拆分成几个短字符串(标记),并返回第一个标记的地址wchar_t*wcstok(wchar_t*wcs
  • 2023-04-05汉字编码问题(OJ 2h奋战血泪)
    永远想不到汉字的utf-8gcc编码其实是三个字符,我是在云IDE发现的.....#include<bits/stdc++.h>usingnamespacestd;//A>K>Q>J>>10>9>...>3>2structCard{ charname[10]; intcolor; intnumber; voidchange(){ if(strstr(name,"大王"))
  • 2023-03-10文件
    头文件Windows桌面程序需要<windows.h>。<tchar.h>定义了TCHAR宏,如果在项目中定义了UNICODE符号,该宏最终会解析为wchar_t,否则解析为char。如果总是在启用UNIC
  • 2023-02-12C语言学习:宽字符串与窄字符串的转换
    什么也不设置,看一下代码运行结果。1#include<io_utils.h>2#include<string.h>3#include<stdlib.h>4#include<wchar.h>5#include<wctype.h>6#inc
  • 2022-12-29const char *转wstring 方法
    直接调用下列方法,输入参数即可转换wstringInjectDll::charToWstring(constchar*szIn){intlength=MultiByteToWideChar(CP_ACP,0,szIn,-1,NULL,0);WCHAR*buf
  • 2022-12-29(C++)wchar_t 转 string / TCHAR转为char/判断是否进程运行/获得目标进程的入口
    首先是wchar_t转stringvoidWchar_tToString(string&szDst,wchar_t*wchar){wchar_t*wText=wchar;DWORDdwNum=WideCharToMultiByte(CP_OEMCP,NULL,wText,-1,
  • 2022-12-29根据进程名判断该进程是否存在(C++)
    直接调用方法就ok代码如下:boolg_ProcessRun=false;//wchar_t转string;voidWchar_tToString(string&szDst,wchar_t*wchar){wchar_t*wText=wchar;DWORDdwNum
  • 2022-11-27Windows RPC 计划任务(MS-TSCH协议)
    WindowsRPC计划任务(MS-TSCH协议)参考链接https://github.com/Rvn0xsy/SchtaskCreator实现目标上一篇文章实现了自己调用自己编写的rpc接口,达到了远程调用的效果。
  • 2022-11-21[C++学习笔记-IO控制_1]:IO类
    目录C++IO类C++IO类C++IO跟Linux一样,也是使用缓冲区来提高输入输出的效率,所以在使用的时候也要注意缓冲区这一点。如上图所示,C++中跟输入输出相关的类如下:io
  • 2022-10-13Shooter项目 ++反射
    反射是程序在运行时获取程序数据的一种方式(uec++中模拟反射将C++数据暴露在蓝图中,并管理内存垃圾删除)UHT可以通过收集宏来生成特殊的附加代码Wchar_t(宽字符)  :Wchar