Up|<<Prev|Next>>


5.11 最新の定義を撤回する: nc_abort

この関数はもう、呼び出す必要がありません。 ファイルが定義モード中に、不具合が生じ変更を決定できない場合には、 nc_close によって自動的に呼び出されます。 関数 nc_abort 定義モードに無い場合には、単にNetCDFファイルを閉じます。 もし、ファイルが生成されている最中で、まだ定義モードにある場合には、ファイルは削除されます。 nc_redef への呼び出しによって定義モードに入った場合には、NetCDFファイルは定義モードに入る以前の状態に復旧され、ファイルは閉じられます。

 

int nc_abort(int ncid);

 

ncid

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

 

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

 

この例では nc_abort を使って、 foo.nc というファイルの再定義から撤退する。

#include <netcdf.h>
   ... 
int ncid, status, latid;
   ... 
status = nc_open("foo.nc", NC_WRITE, &ncid);/* 書き込み用に開く */
if (status != NC_NOERR) handle_error(status);
   ... 
status = nc_redef(ncid);                    /* 定義モードに入る */
if (status != NC_NOERR) handle_error(status);
   ... 
status = nc_def_dim(ncid, "lat", 18L, &latid);
if (status != NC_NOERR) {
   handle_error(status);
   status = nc_abort(ncid);                 /* 定義失敗、中止 */
   if (status != NC_NOERR) handle_error(status);
}

Up|<<Prev|Next>>