Tag: wchar

wchar_t阅读

我在读取文件的函数中有错,但我不知道出了什么问题。 当符号超出ASCII表时,所有符号都被正确读取。 while ((c = fgetwc(file)) != WEOF) { if (c != L’\n’) { if (i == buf_length) { buf_length += BUF; wchar_t *rebuf = realloc(tmp, buf_length * sizeof(wchar_t)); if (rebuf == NULL) { free(tmp); tmp = NULL; buf_length = 0; return EALLOC; } else { tmp = rebuf; } } tmp[i] = (wchar_t)c; i++; […]

为什么wprintf将Unicode连字分成两个不同的字形?

码: #include #include #define USE_W int main() { #ifdef USE_W const wchar_t *ae_utf16 = L”\x00E6 & ASCII text ae\n”; wprintf(ae_utf16); #else const char *ae_utf8 = “\xC3\xA6 & ASCII text ae\n”; printf(ae_utf8); #endif return 0; } 输出: ae和ASCII文本ae 而printf产生正确的UTF-8输出: æ&ASCII文本ae 你可以在这里测试一下 。

在C中将char *转换为wchar *

我想在C中将char*字符串转换为wchar*字符串。 我找到了很多答案,但大多数答案都是针对C ++的。 你可以帮帮我吗? 谢谢。