コードでprintf
とwprintf
の機能を併用すると問題があります。通常の文字列が最初に印刷される場合、wprintf
は機能しません。 wprintf
を最初に使用した場合、printf
は機能しません。printfとwprintfを単一の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;
}
出力:
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
私は上のglibc 2.14と一緒にGCC(GCC)4.6.1 20110819を使用しています64ビットLinux 3.0。
Linux 3.0?あれは何でしょう?どのような分布ですか? – bmargulies
@bmargulies:カーネルのバージョン。配布はArchlinuxです。 –