参数索引说明符不适用于MinGW gcc
在使用gcc-7.2.0-mingw在Windows上编译C代码时,参数索引说明符不适用于MinGW gcc,c,gcc,mingw,format-specifiers,C,Gcc,Mingw,Format Specifiers,在使用gcc-7.2.0-mingw在Windows上编译C代码时,fprintf()上的参数索引格式说明符无法工作 以以下程序为例: #include <stdio.h> int main(void) { int x; x = 10; fprintf(stdout, "%1$d == %1$d\n", x); return 0; } 而我希望输出是10==10() 发生了什么,如何使参数索引说明符正常工作 注意:如果我尝试打印字符串、浮点
fprintf()
上的参数索引格式说明符无法工作
以以下程序为例:
#include <stdio.h>
int main(void) {
int x;
x = 10;
fprintf(stdout, "%1$d == %1$d\n", x);
return 0;
}
而我希望输出是10==10
()
发生了什么,如何使参数索引说明符正常工作
注意:如果我尝试打印字符串、浮点数或其他任何内容,也会发生同样的情况。我想你可能运气不好。请参阅。如果您需要此功能,您最好将自己的
sprintf
实现(从其他地方获得)带到需要使用此功能的字符串中,然后将放入完成的字符串中。这太令人失望了。。。谢谢@eddiem的澄清。
C:\path\to\dir>gcc -Wall -std=c89 -o main.exe main.c
C:\path\to\dir>main.exe
$d == $d
C:\path\to\dir>