Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;,带十六进制参数的sprintf_C++_C - Fatal编程技术网

C++ C++;,带十六进制参数的sprintf

C++ C++;,带十六进制参数的sprintf,c++,c,C++,C,我试图理解以下代码: char temp[50]; sprintf(temp,"%04XT1000A",Edit3->Text.ToInt()); 我知道T1000A是一个简单的字符串,我知道它的含义,但是%04X是什么?%04X是否完全被参数替换?%04是一个格式说明符修饰符,表示如果输出少于4个字符,则应在左侧填充0%X是标准格式说明符,意味着打印无符号十六进制,使用大写字母表示A-F。请查看文档。%04是一个格式说明符修饰符,表示如果输出少于4个字符,则应在左侧填充0%X是标准格式

我试图理解以下代码:

char temp[50];
sprintf(temp,"%04XT1000A",Edit3->Text.ToInt());

我知道T1000A是一个简单的字符串,我知道它的含义,但是%04X是什么?%04X是否完全被参数替换?

%04
是一个格式说明符修饰符,表示如果输出少于4个字符,则应在左侧填充
0
%X
是标准格式说明符,意味着打印无符号十六进制,使用大写字母表示A-F。请查看文档。

%04
是一个格式说明符修饰符,表示如果输出少于4个字符,则应在左侧填充
0
<代码>%X是标准格式说明符,意味着打印无符号十六进制,使用大写字母表示A-F。请查看文档。

@artworkadシ 顺便说一句,这比
c++
更具体。也许你应该加上标签?@伊瓦洛斯特兰杰夫:什么让你觉得它不是C++?在C++规范中,明确定义了<代码> Prtff <代码>函数族。在某些情况下,将
snprintf
用于缓冲区比使用
std::ostringstream
@ThomasMatthews更简单,这就是为什么我认为应该用这两个标记来标记问题。其想法是,使用c的人也应该能发现它。@artworkadシ 顺便说一句,这比
c++
更具体。也许你应该加上标签?@伊瓦洛斯特兰杰夫:什么让你觉得它不是C++?在C++规范中,明确定义了<代码> Prtff <代码>函数族。在某些情况下,将
snprintf
用于缓冲区比使用
std::ostringstream
@ThomasMatthews更简单,这就是为什么我认为应该用这两个标记来标记问题。其想法是,使用c的人也应该能够发现它。