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 の値を返します。それ以外の場合には、返されたステータスがエラーを示します。エラーの原因として下記が挙げられます。
・ NetCDFファイル生成中に定義モードから呼ばれた際、ファイルの削除が失敗した。
・ 指定されたNetCDF ID がオープンされたNetCDFファイルを参照していない。
例
この例では 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);
}
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |