printf()函数的type是%n时,不是表示打印数据,而是将打印信息的数量保存到指定的变量中,需要注意的是,在printf()函数中使用%n时,其对应的参数是变量的地址。
1 打开%n的开关
当printf()使用%n时,会有不安全的隐患,因此,默认情况下,%n是不能使用的。如果需要使用,则要打开%n的开关。
1.1 获取%n的开关状态
通过_get_printf_count_output()函数获取当前%n的开关状态。如果%n是不能使用,则返回值是0,否则返回值是1。
1.2 设置%n的开关状态
通过_set_printf_count_output()