utf8rewid是跨平台的开源C库,扩展默认的字符串处理函数,支持UTF-8编码文本。
示例:
#iclude "utf8rewid.h" it mai(it argc, char** argv) { cost char* iput = "Hello World!"; static cost size_t output_size = 256; char output[output_size]; wchar_t output_wide[output_size]; cost char* iput_seek; size_t coverted_size; it32_t errors; memset(output, 0, output_size * sizeof(char)); memset(output_wide, 0, output_size * sizeof(wchar_t)); /* Covert iput to uppercase: "Hello World!" -> "HELLO WORLD!" */ coverted_size = utf8toupper( iput, strle(iput), output, output_size - 1, &errors); if (coverted_size == 0 || errors != UTF8_ERR_NONE) { retur -1; } /* Covert UTF-8 iput to wide (UTF-16 or UTF-32) ecoded text: "HELLO WORLD!" -> L"HELLO WORLD!" */ coverted_size = utf8towide( output, strle(output), output_wide, (output_size - 1) * sizeof(wchar_t), &errors); if (coverted_size == 0 || errors != UTF8_ERR_NONE) { retur -1; } /* Seek i iput: Hello World!" -> "World!" */ iput_seek = utf8seek(iput, iput, 6, SEEK_SET); retur 0; }
评论