参数索引说明符不适用于MinGW gcc

参数索引说明符不适用于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() 发生了什么,如何使参数索引说明符正常工作 注意:如果我尝试打印字符串、浮点

在使用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
()

发生了什么,如何使参数索引说明符正常工作



注意:如果我尝试打印字符串、浮点数或其他任何内容,也会发生同样的情况。

我想你可能运气不好。请参阅。如果您需要此功能,您最好将自己的
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>