sprintf_s中格式控制说明符%016I64X的含义是什么

时间:2013-08-08 09:58:18

标签: string-formatting printf format-specifiers

此sprintf_s命令中格式控制说明符“%S \%016I64X%S”的含义是什么?

据我所知,它定义了一个字符串,它以十六进制格式将数字转换为无符号的64位整数。我想知道我是对的吗?请帮帮我..

char lFileName[MAX_PATH];
sprintf_s( lFileName, MAX_PATH, "%S\\%016I64X%S", mSavePath.GetBuffer(),aBuffer->GetTimestamp(), lExt );

1 个答案:

答案 0 :(得分:3)

首先,它看起来像是

的Visual C ++用法
int sprintf_s(char *buffer, size_t sizeOfBuffer, const char *format, ...);

格式包含多个指令"%S""\\""%016I64X""%S"

"%S"“当与printf函数一起使用时,指定宽字符字符串; ...”more

"\\"只是\

"%016I64X"是十六进制输出的X格式说明符。 0根据需要指示零填充。 16表示最小输出长度。 I64是一个特定于窗口的修饰符,表示预期的整数是特定于窗口的类型unsigned __int64more

你在“无符号64位整数”的正确轨道上。