C sprintf - 你可以解释一下吗?

时间:2015-06-04 10:08:03

标签: c printf

以下行的含义是什么:

sprintf(version, "%ld%c", tpdu->version, sep);

我在"%ld%c"感到困惑。这是怎么用的?

3 个答案:

答案 0 :(得分:6)

%ld%c是两种格式说明符%ld%c。前者用于long int,而后者用于char

sprintf您已将tpdu->version的值long int和值sepchar写入缓冲区version }。

答案 1 :(得分:1)

该行说

long int tpdu->versionchar sep的值存储到缓冲区version

%ldlong int的格式说明符,%c的{​​{1}}

答案 2 :(得分:0)

为了更好地理解它,您必须在心理上将整个格式说明符"%ld%c"拆分为更基本的标记。如果您按每个%符号进行拆分,则会得到:%ld%c

%ldlong int的占位符。

%cchar的占位符。

所以,整个陈述:

sprintf(version, "%ld%c", tpdu->version, sep);

long int(即tpdu->version字段的内容)后跟char(即sep变量的内容)打印到名为{的字符串缓冲区中{1}}。