この関数はもう、呼び出す必要がありません。 ファイルが定義モード中に、不具合が生じ変更を決定できない場合には、 nc_close によって自動的に呼び出されます。 関数 nc_abort は 定義モードに無い場合には、単にNetCDFファイルを閉じます。 もし、ファイルが生成されている最中で、まだ定義モードにある場合には、ファイルは削除されます。 nc_redef への呼び出しによって定義モードに入った場合には、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);
}