23char read_variable_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Utilities/read_variable.C,v 1.10 2014/10/13 08:53:32 j_novak Exp $";
31#include "utilitaires.h"
46 size_t size, read_size;
48 if( (fp = fopen (fname,
"r")) == NULL)
50 cout <<
"ERROR: Could not open config-file: '" << fname <<
"'\n";
57 data =
static_cast<char*
> (
MyMalloc (size+10));
58 read_size = fread ( data, 1, size, fp);
59 data [read_size] =
'\0';
77 static char *prev_fname = NULL;
78 static char *data = NULL;
83 if ( prev_fname && !strcmp(prev_fname, fname) )
99#define FMT_STRING "string"
144 if ( *
bol ==
'\n' )
bol++;
156 cout <<
"ERROR: variable " <<
var_name <<
" was not found in config-file!\n";
174 cout <<
"ERROR: no closing quotes found \n";
186 char **
cstr =
static_cast<char**
>(
varp);
199 cout <<
"WARNING: Variable " <<
var_name <<
" was not readable using the format '"<<
fmt<<
"'\n";
226 var =
static_cast<bool>(
buf);
250 cout <<
"ERROR: return-string needs to be NULL in read_variable()\n";
303 cout <<
"MyMalloc("<<
bytes <<
") did not succeed! Terminating...\n";
Time evolution with partial storage (*** under development ***).
char * load_file_buffered(char *fname)
Returns pointer to data from a file using a buffer.
char * load_file(char *fname)
Read file into memory and returns pointer to data.
int FS_filelength(FILE *f)
A portable routine to determine the length of a file.
void * MyMalloc(long bytes)
'Improved' malloc that sets memory to 0 and also auto-terminates on error.
int read_variable(const char *fname, const char *var_name, char *fmt, void *varp)
Reads a variable from file.