#include int wgrib2(int argc, char **argv); #define N 1000000 int main() { int w_argc, ierr, i; char *w_argv[20]; char string1[32]; char string2[32]; char string3[32]; float grid[N]; int n; sprintf(string1,"%lu", &(grid[0])); sprintf(string2,"%lu", &n); sprintf(string3,"%lu", N); i=0; w_argv[i++] = "my program"; w_argv[i++] = "ds.td.bin"; w_argv[i++] = "-match"; w_argv[i++] = "90 hour fcst"; w_argv[i++] = "-grid2mem"; w_argv[i++] = string1; w_argv[i++] = string2; w_argv[i++] = string3; w_argc=i; ierr=wgrib2(w_argc, w_argv); printf("---------end of call(%d) err=%d --------------\n",n,ierr); for (i = 0; i < n; i++) grid[i] = 123.0; sprintf(string2,"%lu", n); i=0; w_argv[i++] = "my program"; w_argv[i++] = "ds.td.bin"; w_argv[i++] = "-match"; w_argv[i++] = "90 hour fcst"; w_argv[i++] = "-import_mem"; w_argv[i++] = string1; w_argv[i++] = string2; w_argv[i++] = "-grib_out"; w_argv[i++] = "output.test6"; w_argc=i; ierr=wgrib2(w_argc, w_argv); printf("--------------end of call) err=%d--------------\n",ierr); return 0; }