以下行的含义是什么:
sprintf(version, "%ld%c", tpdu->version, sep);
我在"%ld%c"
感到困惑。这是怎么用的?
答案 0 :(得分:6)
%ld%c
是两种格式说明符%ld
和%c
。前者用于long int
,而后者用于char
。
sprintf
您已将tpdu->version
的值long int
和值sep
,char
写入缓冲区version
}。
答案 1 :(得分:1)
该行说
将long int
tpdu->version
和char
sep
的值存储到缓冲区version
。
%ld
是long int
的格式说明符,%c
的{{1}}
答案 2 :(得分:0)
为了更好地理解它,您必须在心理上将整个格式说明符"%ld%c"
拆分为更基本的标记。如果您按每个%符号进行拆分,则会得到:%ld
和%c
。
%ld
是long int
的占位符。
%c
是char
的占位符。
所以,整个陈述:
sprintf(version, "%ld%c", tpdu->version, sep);
将long int
(即tpdu->version
字段的内容)后跟char
(即sep
变量的内容)打印到名为{的字符串缓冲区中{1}}。