C 这个格式说明符是什么意思?

C 这个格式说明符是什么意思?,c,C,这是我的一些c代码,我不知道这个说明符的用法是什么!%2.s!%3.s!\方法这是下面显示的代码 dev.FormatMessage( _T(!%2!s!%3!s!\\"), level, value, simplify() ); 这意味着您最终会: \\level!s!value!s!simplify!s!\ 它是传递给函数的模板;此函数的输出将替换level和value变量所指向的字符串以及simplify函数返回值在百分号和其后第二个感叹号之间的位置 因此,输出将是两个反斜杠字符(C

这是我的一些c代码,我不知道这个说明符的用法是什么!%2.s!%3.s!\方法这是下面显示的代码

dev.FormatMessage( _T(!%2!s!%3!s!\\"), level,

value, simplify() );

这意味着您最终会:

\\level!s!value!s!simplify!s!\

它是传递给函数的模板;此函数的输出将替换level和value变量所指向的字符串以及simplify函数返回值在百分号和其后第二个感叹号之间的位置


因此,输出将是两个反斜杠字符(C编译器希望转义文字反斜杠,因此在编译程序中只会转义其中的两个),然后是三个替换,然后是一个反斜杠。

为什么我们要在这里使用它,,'s'表示字符串?@peter:我不是你的C代码的作者。没有上下文,我们无法知道这种格式的含义,以及这行代码的用途!s位仍然是格式说明符的一部分;这是Windows编码格式字符串的方式。