Up|<<Prev|Next>>


5.7 定義モードから抜ける: nc_enddef

関数 nc_enddef は開かれたNetCDFファイルを定義モードから抜きます。定義モード中にNetCDFファイルに加えられた変更はチェックされ、問題なければディスクに書き込まれます。この時、非記録変数を"フィル値”に初期化することも可能です。(書き込みのフィルモードを設定する: nc_set_fillを参照。)NetCDFファイルはデータモードになり、 変数データを読み取り・書き込みが可能になる。

この呼び出しは、場合によってはデータをコピーする作業が含まれる。これに関しての詳細は 9 - NetCDFファイルの構造と性能にあります。

 

int nc_enddef(int ncid);

 

ncid

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

 

エラーが発生していなければ、 nc_enddef NC_NOERR の値を返します。それ以外の場合には、返された状態がエラーを示します。エラーの原因として下記が挙げられます。

 

この 例は nc_enddef を使って foo.nc というNetCDFファイルの定義モードを終了し、データモードにします。

#include <netcdf.h>
   ... 
int status;
int ncid;
   ... 
status = nc_create("foo.nc", NC_NOCLOBBER, &ncid);
if (status != NC_NOERR) handle_error(status);
 
   ...       /* 次元・変数・属性を生成 */
 
status = nc_enddef(ncid);  /*定義モードを抜ける*/
if (status != NC_NOERR) handle_error(status);

Up|<<Prev|Next>>