Ho un problema quando si utilizzano le funzioni printf
e wprintf
insieme nel codice. Se la stringa normale viene stampata per prima, allora wprintf
non funziona. Se prima utilizzo wprintf
, allora printf
non funziona.printf e wprintf in singolo codice C
#include <stdio.h>
#include <wchar.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL,"");
printf("No printing!\n");
wprintf(L"Printing!\n");
wprintf(L"Wide char\n");
printf("ASCII\n");
return 0;
}
Uscite:
No printing!
ASCII
Mentre
#include <stdio.h>
#include <wchar.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL,"");
wprintf(L"Printing!\n");
printf("No printing!\n");
wprintf(L"Wide char\n");
printf("ASCII\n");
return 0;
}
uscite:
Printing!
Wide char
sto usando gcc (GCC) 4.6.1 20110819 insieme con glibc 2.14 su 64bit Linux 3.0.
Linux 3.0? Cos'è quello? Quale distribuzione? – bmargulies
@bmargulies: versione del kernel. La distribuzione è Archlinux. –