String
Standard C++ library ‘std::basic_string’ is used for strings. For details see
http://en.cppreference.com/w/cpp/string/basic_string
string
size: up to 264 Bytes (i.e. limited only by memory)
An EVD file Example:
field_name1 string(10) field_name2 string(10) sep="" field_name3 string sep=";" null="NULL" field_name4 string null="" quote="\"" field_name5 string null=["","N/A","NA"] last_field string
where
- ‘field_name1’
cannot be NULL and has fixed length 10 bytes, followed by the value of
$EVL_DEFAULT_FIELD_SEPARATOR
environment variable.- ‘field_name2’
cannot be NULL and has fixed length 10 bytes, with no separator.
- ‘field_name3’
is nullable and string ‘NULL’ is interpreted as NULL value. End of the field is represented by character ‘;’.
- ‘field_name4’
is nullable and empty string is interpreted as NULL value. Field is quoted by ‘"’, but for an empty string, quotes are not needed. The end of the field is represented by
$EVL_DEFAULT_FIELD_SEPARATOR
.- ‘field_name5’
is nullable and empty string, ‘N/A’ and ‘NA’ are interpreted as NULL value when reading, but when writing into text file, NULL is represented by the first one, i.e. an empty string. The end of the field is represented by
$EVL_DEFAULT_FIELD_SEPARATOR
.- ‘last_field’
cannot be NULL and the end of the field is represented by
$EVL_DEFAULT_RECORD_SEPARATOR
.
Example of four records which can be parsed by above EVD file definition.
| NULL;"second string field"|NA|last field 0123456789|0123456789first string field;""|N/A|last field ----------|----------;" ; second field | "|third string field|last field abcdefghij|abcdefghij ;||last field
Neither EVL_DEFAULT_FIELD_SEPARATOR
nor EVL_DEFAULT_RECORD_SEPARATOR
is set, so default values are used, i.e. ‘|’ and ‘\n’.