此sprintf_s命令中格式控制说明符“%S \%016I64X%S”的含义是什么?
据我所知,它定义了一个字符串,它以十六进制格式将数字转换为无符号的64位整数。我想知道我是对的吗?请帮帮我..
char lFileName[MAX_PATH];
sprintf_s( lFileName, MAX_PATH, "%S\\%016I64X%S", mSavePath.GetBuffer(),aBuffer->GetTimestamp(), lExt );
答案 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 __int64
。 more
你在“无符号64位整数”的正确轨道上。