示例#1
0
char		*fpf_wstrsub(wchar_t *ws, unsigned int start, size_t len)
{
	int		real_len;
	int		i;
	char	*fresh;

	real_len = 0;
	i = 0;
	while (ws[i] != '\0' && (int)len >= fpf_wcharlen(ws[i]))
	{
		len -= fpf_wcharlen(ws[i]);
		real_len += fpf_wcharlen(ws[i]);
		i++;
	}
	fresh = fpf_transform_wchar_in_char(ws);
	return (fpf_strsub_with_free(fresh, start, real_len));
}
示例#2
0
int		fpf_putwchar_in_char(wchar_t wchar, char *fresh, int i)
{
	int		size;

	size = fpf_wcharlen(wchar);
	if (size == 1)
		fresh[i++] = wchar;
	else if (size == 2)
	{
		fresh[i++] = (wchar >> 6) + 0xC0;
		fresh[i++] = (wchar & 0x3F) + 0x80;
	}