为什么将printf_s(附件K)中的格式标记为限制?

时间:2019-11-27 06:44:36

标签: c c11 restrict-qualifier

我完全知道this question的存在。

但是,printf_s认为指定符%n的存在是错误的,因此,printf_s不会期望对格式进行任何写操作。 restrict在这里有什么意义?

1 个答案:

答案 0 :(得分:0)

指向字符类型的指针的功能参数不仅可以别名其他功能参数,还可以别名全局对象。特别是,由于printfprintf_s修改了stdout,原则上,任何指向字符类型的指针都可以指向同一FILE对象或实现可能使用的其他对象用于幕后的IO。

这有点牵强,但基本上restrict在这里和许多其他地方都说,不要试图变得有趣,并使用单独的字符数组作为格式。