这个 sprintf_s 命令中的格式控制说明符“%S\%016I64X%S”是什么意思?
据我所知,它定义了一个字符串,它将数字转换为十六进制格式的无符号 64 位整数。我想知道我是否正确?请帮我..
char lFileName[MAX_PATH];
sprintf_s( lFileName, MAX_PATH, "%S\\%016I64X%S", mSavePath.GetBuffer(),aBuffer->GetTimestamp(), lExt );
这个 sprintf_s 命令中的格式控制说明符“%S\%016I64X%S”是什么意思?
据我所知,它定义了一个字符串,它将数字转换为十六进制格式的无符号 64 位整数。我想知道我是否正确?请帮我..
char lFileName[MAX_PATH];
sprintf_s( lFileName, MAX_PATH, "%S\\%016I64X%S", mSavePath.GetBuffer(),aBuffer->GetTimestamp(), lExt );
首先,它看起来像 Visual C++ 的用法
int sprintf_s(char *buffer, size_t sizeOfBuffer, const char *format, ...);
该格式由多个指令组成: "%S"
, "\\"
, "%016I64X"
, "%S"
.
"%S"
"当与 printf 函数一起使用时,指定一个宽字符串;..."更多
"\\"
简直就是一个\
。
"%016I64X"
是X
十六进制输出的格式说明符。0
根据需要指示零填充。 16
指示最小输出长度。 I64
是一个特定于 windows 的修饰符,表示预期的整数是 windows 特定的类型unsigned __int64
。 更多的
您在“无符号 64 位整数”的正确轨道上。