Fei --
The problem appears to be that "get(&x, 10, 10)" has an error (both times).
Those 10's mean you want a 10 by 10 chunk of data, but x only provides space
for a single value.
If instead of
double x,y;
You had
double x[10][10];
you should be in the clear.
If you don't actually want a 10 x 10 chunk of data, and instead want the value
at indices i=10 and j=10, you'd do:
double x;
geolon_t->set_cur(10, 10);
geolon_t->get(&x, 1, 1)
Also, here's a general recommendation... The NetCDF library can easily be built
with debugging ("-g" for gcc and likely others) and you could then inspect the
core dump relatively easily, e.g.
gdb your_sample_exe core
and from within gdb issue commands like where, frame, and print.
Best of luck
Kurt Hanson
-----Original Message-----
From: owner-netcdfgroup@xxxxxxxxxxxxxxxx
[mailto:owner-netcdfgroup@xxxxxxxxxxxxxxxx]On Behalf Of Fei Liu
Sent: Wednesday, February 22, 2006 10:18 AM
To: netcdfgroup@xxxxxxxxxxxxxxxx
Subject: netcdf c++ implementation problem
Hi, group, I am replying to a message I sent out a few days ago to another
email list:
>
>NetCDF C++ library is compiled with:
>
>GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-85)
>
>Here is the sample code:
>
>#include <netcdfcpp.h>
>#include <iostream>
>
>using namespace std;
>
>// g++ -o t testnccpp.cpp -lnetcdf_c++ -lnetcdf -L/usr/local/lib
>
>int main(void){
>
> NcFile file("grid_spec.nc");
>
> NcVar * geolon_t = file.get_var("geolon_t");
>
> cout << "Type: " << geolon_t->type()<< endl;
> for(int i = 0; i < geolon_t->num_dims(); i ++)
> cout << i << ": " << geolon_t->get_dim(i)->size() << endl;
> double x,y;
>
> if(geolon_t->get(&x, 10, 10))
> cout << x << endl;
> if(geolon_t->get(&x, 10, 10))
> cout << x << endl;
> file.close();
>}
>
>The wierd part is the program core dumps after the 2nd call
>geolon_t->get(&x..., here is the output:
>
>Type: 6
>0: 200
>1: 360
>-279.5
>-279.5
>Segmentation fault (core dumped)
>
>I am seeking any clue/simiar experience as why the program core
>dumps?....
>
>--
>Fei Liu, PhD. phone: 609-4526551
>RSIS/GFDL/NOAA fax: 609-9875063
>P.O. Box 308, 201 Forrestal Rd. http://www.gfdl.noaa.gov/~fil
>Princeton, NJ 08542-0308 email: Fei.Liu@xxxxxxxx
>
>
>