Kod blokuje MinGW i znak konwersji% n
Próbuję użyć znaku konwersji, aby policzyć liczbę znaków wydrukowanych do tej pory za pomocą następującego kodu.
#include <stdio.h>
int main(void) {
int n;
printf("%s: %nFoo\n", "hello", &n);
printf("%*sBar\n", n, "");
}
Podczas poprawnej pracy kod ten wyświetla Hello Foo, a następnie w następnym wierszu Bar jest wyrównany z Foo.
Działa to dobrze po skompilowaniu z GCC na moim Linuksie. Jednak podczas kompilacji przy użyciu minGW w blokach kodu na moim komputerze z systemem Windows% n nie działa, a wszystko jest drukowanecześć: Bar wszystko w jednej linii. Dlaczego tak i mogę to naprawić?