Re: Getting oid with libpq

From: jtv(at)xs4all(dot)nl
To: "Johan C(dot) de Koning" <johan(dot)de(dot)koning(at)geodan(dot)nl>
Cc: jtv(at)xs4all(dot)nl, pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Getting oid with libpq
Date: 2005-08-11 07:06:37
Message-ID: 8327.202.47.227.25.1123743997.squirrel@202.47.227.25
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Johan C. de Koning wrote:

> I am not an expert in C/C++ so do you know maybe where I can find some
> example code or documentation about the parsing process with sscanf?

In C, you'd probably want to use

const char *OldLocale = setlocale(LC_NUMERIC, "C");

Then run the pointer returned by PQgetValue() through atol() to get a
numeric value, and finally restore the previous locale with

setlocale(LC_NUMERIC, OldLocale);

If you're using C++, best thing to do may be to use libpqxx instead of
libpq. It has functions to do the conversions for you, and takes care of
locale and overflow issues as well.

Jeroen

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2005-08-11 13:57:24 Re: Getting oid with libpq
Previous Message David 2005-08-10 20:22:14 Re: pgperl vs dbd-perl