在代码中同时使用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
而
#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
我在64位Linux3.0上使用的是gcc (GCC) 4.6.1 20110819和glibc 2.14。
https://stackoverflow.com/questions/8681623
复制相似问题