Up|<<Prev|Next>>


8.6 属性名を変更する: nc_rename_att

関数 nc_rename_att は属性の名前を変更します。新しい名前が元の名前より長い場合には、NetCDFファイルは定義モードになっている必要があります。同じ変数の他の属性名と同じ名前になってしまうような属性名の変更はできない。

 

int nc_rename_att (int ncid, int varid, const char* name,

const char* newname);

 

ncid

以前の nc_open 又は nc_create 呼び出しで返されたNetCDF ID。

varid

属性の変数のID、又はグローバル属性の NC_GLOBAL

name

現行の属性名。

newname

指定された属性に割り当てられる新しい名前。新しい名前が現行の名前よりも長い場合には、NetCDFファイルは定義モードになっていなければならない。

 

エラーが発生していなければ、 nc_rename_att NC_NOERR の値を返します。 それ以外の場合には、返された状態がエラーを示します。エラーの原因として次のようなものが考えられます。

 

この例では、 nc_rename_att を使って、既存のというNetCDFファイルにおける変数 rh の変数属性の名前を units から Units Ç...ï?çXÇ?ÇÈÅB

#include <netcdf.h>
   ... 
int  status;      /* エラーステータス */
int  ncid;        /* NetCDF ID */
int  rh_id;       /* 変数 ID */
   ... 
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
   ... 
status = nc_inq_varid (ncid, "rh", &rh_id);
if (status != NC_NOERR) handle_error(status);
   ... 
/* 属性名を変更 */
status = nc_rename_att(ncid, rh_id, "units", "Units");
if (status != NC_NOERR) handle_error(status);

Up|<<Prev|Next>>