使用 wmemset 初始化 wchar_t 数组。编码重要吗?
Initialization of a wchar_t array with wmemset. Does encoding matter?
如何使用 wmemset 正确初始化 wchar_t 数组?
我应该使用 '\0' 还是 L'\0' ?有关系吗?
编码重要吗? (unicode, ISO####)
例如
wchar_t arr[20];
wmemset(arr, '[=11=]', sizeof(arr));
您需要使用 L''
形式来获取 wchar_t
类型,尽管任何适合 char
的值(例如 '[=13=]'
)都会被自动使用通常的整数提升转换。参见 character literal or C++ Character Literals。
我不清楚源代码将在哪个代码页中解释。为了安全起见,最好使用 L'\u20ac'
或 L'\U000020ac'
形式来指定 ASCII 字符集之外的字符。
如何使用 wmemset 正确初始化 wchar_t 数组? 我应该使用 '\0' 还是 L'\0' ?有关系吗? 编码重要吗? (unicode, ISO####)
例如
wchar_t arr[20];
wmemset(arr, '[=11=]', sizeof(arr));
您需要使用 L''
形式来获取 wchar_t
类型,尽管任何适合 char
的值(例如 '[=13=]'
)都会被自动使用通常的整数提升转换。参见 character literal or C++ Character Literals。
我不清楚源代码将在哪个代码页中解释。为了安全起见,最好使用 L'\u20ac'
或 L'\U000020ac'
形式来指定 ASCII 字符集之外的字符。