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

Upv*_*ote 1 c c++

我试着理解下面的代码:

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

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

izo*_*ica 9

%04是格式说明符修饰符,表示如果输出小于4个字符,则应在左侧填充0.%X是标准格式说明符,意味着打印无符号十六进制使用大写字母表示AF.看看printf的文档.