char 格式化字符串 string

//sprintf_s
//char[] to string  format(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)    
    string guid;
	char tmp[37] = { 0 };
	sprintf_s(tmp, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
		uuid.Data1, uuid.Data2, uuid.Data3,
		uuid.Data4[0], uuid.Data4[1],
		uuid.Data4[2], uuid.Data4[3],
		uuid.Data4[4], uuid.Data4[5],
		uuid.Data4[6], uuid.Data4[7]);
	guid.assign(tmp);
//snprintf
//char[] to string  format(%.4d%.2d%.2d)    
	SYSTEMTIME systm;
	GetLocalTime(&systm);
	std::string fmt("%.4d%.2d%.2d");
	char targetString[9] = { 0 };
	// 格式化,并获取最终需要的字符串
	int realLen = snprintf(targetString,
		sizeof(targetString),
		fmt.c_str(),
		systm.wYear, systm.wMonth, systm.wDay);
	string str_datetime = targetString;// char[] to string
//char to string
		char dev = 'F';
		std::string disk;// "F:"
		disk.push_back(dev);
		disk.push_back(':');
//string to long long  ||int||double 
long long StringToLong(string str) {
	long long result;
	istringstream is(str);
	is >> result;
	return result;
}

//lambda写法: 
auto StringFormat = [](const char* format,){ 
va_list params; 
char buf[1024]; 
std::vsnprintf(buf, 1021, format, params); 
return std::string(buf); 
};
//StringFormat(“%d”,123);

//静态函数: 
string Format(const char *format,){ 
va_list params; 
char buf[1024]; 
std::vsnprintf(buf, 1021, format, params); 
return buf; 
} 
Format(%s”,”abc”);

//相对来讲 lambda没有参数提示, 所以使用静态函数比较明确一些
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值