Listing 3

// Read UTF-8 file from HTTP server.
int main()
{
  using namespace std;
  using namespace UTF8Lib;
  sockbuf buf(AF_INET, sockbuf::sock_stream, 0);
  sockinetaddr addr("www.cl.cam.ac.uk", 80);
  buf.connect(addr);

  UTF8Streambuf<> utf8buf(&buf);
  wiostream ws(&utf8buf);

  ws << L"GET /~mgk25/ucs/examples/UTF-8-test.txt HTTP/1.1\n";
  ws << L"Host: www.cl.cam.ac.uk\n";
  ws << L"Connection: close\n\n";
  ws.flush();

  wchar_t wch;
  while(ws.get(wch)) {
      ...
  }
}