[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: variable string in attribute and char variables



>To: address@hidden
>From: Igor Pesenson <address@hidden>
>Subject: Re: 20030203: subject
>Organization: Lawrence Berkeley National Laboratory
>Keywords: 200302031956.h13Ju0623075

Igor,

> ... I failed to clearly specify that the problem I'm
> having is not placing a string, ie "12-Nov-2002, 0:00:00 GMT", but having 
> that string be a
> variable. I can hardcode the variable as in
>   stat = nc_put_att_text(ncid, base_time_id, "string", 23, 
> "12-Nov-2002,0:00:00 GMT");
> but I can't seem to do
>   strcpy(date_str, "12-Nov-2002,0:00:00 GMT");
>   stat = nc_put_att_text(ncid, base_time_id, "string", 23,&date_str);

Oops, I didn't see it the first time, but you should use just
"date_str" instead of "&date_str" as the last argument in the
nc_put_att_text() call:

   stat = nc_put_att_text(ncid, base_time_id, "string", 23, date_str);

assuming date_str is declared as either an array of char

   char date_str[100];

or as a pointer to char for which you allocate space

   char *date_str = malloc(sizeof char, strlen("12-Nov-2002,0:00:00 GMT"));

In either case, date_str is already an address of a string, so you
don't need to take the address of it again.  With "&date_str" you are
saying the string is located at the address of the pointer rather than
at the address of the string it is pointing to.

--Russ

_____________________________________________________________________

Russ Rew                                         UCAR Unidata Program
address@hidden                     http://www.unidata.ucar.edu