【Sprintf】llx&I64x _sprintf字符串读写的妙用

今天在网上GET了一个相当棒的存在,"llx"和"I64x",

是一种可以将一个long long长度的十进制整数直接转化为十六进制存于buffer中的方式,

曾经有了解过sscanf和sprintf,但这次这个方式的发现着实非常令人开心,回来再学一次,作为一种技巧好好收着~

P.S. 通过更改x的大小写可以决定十六进制的大写/小写表示哦~


Code:

#include<cmath>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	char buffer[1024];
	unsigned long long ull=2222222222222222222;
	sprintf (buffer, "%llx", ull);
	//sprintf (buffer, "%I64x", ull);
	//sprintf (buffer, "%llX", ull);
	//sprintf (buffer, "%I64X", ull);
	cout<<buffer<<endl;
	return 0;
}

前两种输出为:1ed6eb565788e38e

后两种输出为:1ED6EB565788E38E

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖果天王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值