前提・実現したいこと
マルチバイト文字列と長さ、メモリサイズを出力したいのですが、よく分からない挙動になってしまいます。
c
1#include <stdio.h> 2#include <string.h> 3#include <wchar.h> 4#include <locale.h> 5 6int main() 7{ 8 setlocale(LC_ALL, ""); 9 10 wchar_t wc[] = L"あいうえお"; 11 12 printf("sizeof %ld\n", sizeof wc); 13 printf("wcslen %ld\n", wcslen(wc)); 14 15 wprintf(L"%ls\n", wc); 16 wprintf(L"%lc\n", wc[2]); 17 18 return 0; 19}
試したこと
printfをコメントアウトすると文字列は表示されます。
あいうえお う
しかし、戻すと文字列は表示されません。
sizeof 24 wcslen 5
あと、何故 sizeof 24 になるのでしょうか?
補足情報(FW/ツールのバージョンなど)
Ubuntu 18.04.2 LTS (WSL)
gcc version 7.4.0
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/08 03:45