栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 字符串转换成HEX字符串 整形转换成字符串

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 字符串转换成HEX字符串 整形转换成字符串

开发在线装机项目时一个小需求,由于wimlib-imagex备份系统或者追加备份时,不允许中文字符串作为系统名(wim中的name字段)和 备注名(Description字段),所以萌生了一个想法将字符串转成16进制字符串然后作为wim的name和Description写入,如果需要读取在界面显示时,再将16进制字符串取出,转换成正真的中文字符,为了验证我的想法的正确性,分析了一下竞品软件的系统增量备份功能,跟我的思路差不多,所以就按照这个思路来实现

首先我们要将字符串转成16进制的形式之前,先封装一个函数,用来格式化字符串的,

std::wstring util::format(const wchar_t * fmt, ...)
{
	std::wstring ret_str = L"";
	if (nullptr != fmt)
	{
		va_list marker = nullptr;
		va_start(marker, fmt);                            //初始化变量参数
		size_t nLength = _vscwprintf(fmt, marker) + 1;    //获取格式化字符串长度
		std::vector buff(nLength, L'');    //创建用于存储格式化字符串的字符数组
		int nWritten = _vsnwprintf_s(&buff[0], buff.size(), nLength, fmt, marker);
		if (nWritten > 0)
		{
			ret_str = &buff[0];
		}
		va_end(marker);                                    //重置变量参
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980096.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号