read_vector_vector_from_config_file - Reads a vector vector from a config file


#include "m/m_vec_io.h"

Example compile flags (system dependent):
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 

int read_vector_vector_from_config_file
	Vector_vector **result_vvpp,
	const char *env_var,
	const char *directory,
	const char *file_name,
	const char *message_name,
	char *config_file_name,
	size_t config_file_name_size


const char *env_var
Config file name from envirnonment.
const char *directory
Directory to scan for config file.
const char *file_name
Name of config file to search for.
const char *message_name
File name for error messages.
char *config_file_name
Name of actual config file found.
size_t config_file_name_size
Size of actual config file name.


This routine reads a vector vector from a configuration file, checking several possible locations for the file. If the parameter "env_var" is not NULL, then it first tries using this string as the configuration file name. Next it looks for "file_name" in the current directory, then the user's home directory, and, depending on how the library was built, then the "shared" home directory and/or the programmer's home directory. If "directory" is not NULL, then it is used as a sub-directory in all paths starting from a home directory (i.e., all paths except the current directory). The parameter message_name can be used to specify a name for the configuration file to be used in error and verbose output messages. If message_name is NULL, then "configuration" is used. If the buffer config_file_name is not NULL, then the file name actually used is copied into it. If it is used, then its size must be passed in via config_file_name_size;


Either NO_ERROR, or ERROR, with an appropriate error message being set.


Suppose directory is "x" and file_name is "y". Also supposed that the shared directory is "~iis" (compiled in constant) and the programmer's directory is "~kobus" (another compiled in constant). Then the following files are tried in the order listed.
The file name actually used is put into the buffer config_file_name whose size must be passed in via max_len; The vector vector *result_vvpp is created or resized as necessary. If file_name is the special name "off" (or "none" or "0"), then the above does not apply. In this case, *result_vvpp is freed and set to NULL.


This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.


Kobus Barnard


Kobus Barnard


read_vector_from_config_file , read_vector , fp_read_vector , fp_read_raw_vector , fp_read_vector_with_header , fp_read_ascii_vector , fp_ow_read_vector , write_row_vector , fp_write_row_vector , write_indexed_vector , fp_write_indexed_vector , write_col_vector , fp_write_col_vector , write_col_vector_with_header , fp_write_col_vector_with_header , write_raw_vector , fp_write_raw_vector , write_row_vector_full_precision , fp_write_row_vector_full_precision , write_col_vector_full_precision , fp_write_col_vector_full_precision , read_vector_vector , fp_read_vector_vector , fp_read_raw_vector_vector , fp_read_formatted_vector_vector , fp_write_vector_vector_with_title , write_vector_vector , fp_write_vector_vector , write_raw_vector_vector , fp_write_raw_vector_vector , fp_write_raw_vector_vector_header , write_vector_vector_full_precision , fp_write_vector_vector_full_precision