#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <iconv.h>
#include <errno.h>

#define BUFFER_SIZE 4096

static char* wchartoutf8(wchar_t* input) {
  char *output = malloc(BUFFER_SIZE);
  iconv_t foo = iconv_open("UTF-8", "WCHAR_T");
  size_t ilen = wcslen(input) * sizeof(wchar_t);
  size_t olen = BUFFER_SIZE;
  int r = iconv(foo, (char**)&input, &ilen, &output, &olen);
  if(r < 0)
	perror("iconv");
  printf("LEN=%d\n", r);
  return output;
}

int main()
{
        printf("str: %s\n", wchartoutf8(L"чёзанахуй?"));
        return 0;
}