From: | Martijn van Oosterhout <kleptog(at)svana(dot)org> |
---|---|
To: | Poul Jensen <flyvholm(at)gfy(dot)ku(dot)dk> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: ECPG - how to fetch then sort strings |
Date: | 2006-09-08 15:47:59 |
Message-ID: | 20060908154759.GJ5479@svana.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Please don't use "reply" to start new thread, thanks.
On Fri, Sep 08, 2006 at 05:55:44AM -0800, Poul Jensen wrote:
> I need to fetch strings from a database with ECPG and then sort them in
> C. Here is one of my failed attempts:
<snip>
> varchar filenms[][maxlen]=NULL;
I think you need to reread the C manual as to the difference between
arrays and pointers. I'm don't know about ECPG, but I think your other
attempt, using "char**" was much closer to the mark.
> It compiles ok, but I get garbage in variable filenms. If I change the
> declaration of filenms to:
> char **filenms=NULL;
> the SQL query returns strings ok. But the strings have variable length,
> and I need to specify one length in qsort, so it won't work. Another
Since you're declaring a array of pointers to char, the width you have
to specify to qsort would be sizeof(char*). I think you can just use
the normal strcmp() function with qsort then.
Ofcourse, you could get the database to sort them for you...
Hope this helps,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-09-08 16:05:55 | Re: Query performance inconsistant. |
Previous Message | Brandon Aiken | 2006-09-08 15:05:10 | Re: Database design and triggers... |