使用printf
和wprintf
函数在代码中一起使用时出现问题。如果先打印常规字符串,那么wprintf
就不能工作。如果先使用wprintf
,则printf
就不能工作。
#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;
}
输出:
No printing!
ASCII
< p > 当 < /p >#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;
}
输出:
Printing!
Wide char
我正在使用gcc(GCC)4.6.1 20110819和glibc 2.14在64位Linux 3.0上。